@@ 68-143 (lines=76) @@ | ||
65 | * @access public |
|
66 | * @return void |
|
67 | */ |
|
68 | public function testJsonEncodeRelationWithLink() |
|
69 | { |
|
70 | $this->createNewInstance(); |
|
71 | ||
72 | $this |
|
73 | ->given($cart = $this->createCart()) |
|
74 | ->and($cartItem = $this->createKnownCartItem()) |
|
75 | ->and($cart->addCartItemList($cartItem)) |
|
76 | ||
77 | ->then |
|
78 | ->array($data = $this->testedInstance->serialize( |
|
79 | $cart, |
|
80 | 'Mapado\RestClientSdk\Tests\Model\JsonLd\Cart', |
|
81 | [ 'serializeRelations' => ['cart_items'] ] |
|
82 | )) |
|
83 | ->isIdenticalTo([ |
|
84 | '@id' => '/v1/carts/8', |
|
85 | 'status' => 'payed', |
|
86 | 'clientPhoneNumber' => '+33 1 23 45 67 89', |
|
87 | 'createdAt' => (new \DateTime('2015-09-20T12:08:00'))->format(DateTime::RFC3339), |
|
88 | 'cart_items' => [ |
|
89 | [ |
|
90 | '@id' => '/v1/cart_items/16', |
|
91 | 'amount' => 1, |
|
92 | 'createdAt' => (new \DateTime('2015-11-04 15:13:00'))->format(DateTime::RFC3339), |
|
93 | 'data' => [ |
|
94 | 'when' => (new \DateTime('2015-11-04 15:00:00'))->format(DateTime::RFC3339), |
|
95 | 'who' => 'Jane', |
|
96 | ], |
|
97 | 'cart' => '/v1/carts/8', |
|
98 | 'product' => '/v1/products/10', |
|
99 | 'cartItemDetailList' => [], |
|
100 | ], |
|
101 | ], |
|
102 | 'order' => null, |
|
103 | ]) |
|
104 | ||
105 | ->then |
|
106 | ->array($data = $this->testedInstance->serialize( |
|
107 | $cart, |
|
108 | 'Mapado\RestClientSdk\Tests\Model\JsonLd\Cart', |
|
109 | [ 'serializeRelations' => ['cart_items'] ] |
|
110 | )) |
|
111 | ->isIdenticalTo([ |
|
112 | '@id' => '/v1/carts/8', |
|
113 | 'status' => 'payed', |
|
114 | 'clientPhoneNumber' => '+33 1 23 45 67 89', |
|
115 | 'createdAt' => (new \DateTime('2015-09-20T12:08:00'))->format(DateTime::RFC3339), |
|
116 | 'cart_items' => [ |
|
117 | [ |
|
118 | '@id' => '/v1/cart_items/16', |
|
119 | 'amount' => 1, |
|
120 | 'createdAt' => (new \DateTime('2015-11-04 15:13:00'))->format(DateTime::RFC3339), |
|
121 | 'data' => [ |
|
122 | 'when' => (new \DateTime('2015-11-04 15:00:00'))->format(DateTime::RFC3339), |
|
123 | 'who' => 'Jane', |
|
124 | ], |
|
125 | 'cart' => '/v1/carts/8', |
|
126 | 'product' => '/v1/products/10', |
|
127 | 'cartItemDetailList' => [], |
|
128 | ], |
|
129 | ], |
|
130 | 'order' => null, |
|
131 | ]) |
|
132 | ||
133 | // reverse the serialization |
|
134 | ->then |
|
135 | ->object($cart = $this->testedInstance->deserialize($data, 'Mapado\RestClientSdk\Tests\Model\JsonLd\Cart')) |
|
136 | ->array($cart->getCartItemList()) |
|
137 | ->size->isEqualTo(1) |
|
138 | ->object($cartItem = current($cart->getCartItemList())) |
|
139 | ->isInstanceOf('Mapado\RestClientSdk\Tests\Model\JsonLd\CartItem') |
|
140 | ->string($cartItem->getId()) |
|
141 | ->isEqualTo('/v1/cart_items/16') |
|
142 | ; |
|
143 | } |
|
144 | ||
145 | /** |
|
146 | * testJsonEncodeRelationWithoutLink |
|
@@ 506-584 (lines=79) @@ | ||
503 | ; |
|
504 | } |
|
505 | ||
506 | public function testWeirdIdentifier() |
|
507 | { |
|
508 | $mapping = $this->getMapping('weirdId'); |
|
509 | $this->createNewInstance($mapping); |
|
510 | ||
511 | $this |
|
512 | ->given($cart = $this->createCart()) |
|
513 | ->and($cartItem = $this->createKnownCartItem()) |
|
514 | ->and($cart->addCartItemList($cartItem)) |
|
515 | ||
516 | ->then |
|
517 | ->array($data = $this->testedInstance->serialize( |
|
518 | $cart, |
|
519 | 'Mapado\RestClientSdk\Tests\Model\JsonLd\Cart', |
|
520 | [ 'serializeRelations' => ['cart_items'] ] |
|
521 | )) |
|
522 | ->isIdenticalTo([ |
|
523 | 'weirdId' => '/v1/carts/8', |
|
524 | 'status' => 'payed', |
|
525 | 'clientPhoneNumber' => '+33 1 23 45 67 89', |
|
526 | 'createdAt' => (new \DateTime('2015-09-20T12:08:00'))->format(DateTime::RFC3339), |
|
527 | 'cart_items' => [ |
|
528 | [ |
|
529 | 'weirdId' => '/v1/cart_items/16', |
|
530 | 'amount' => 1, |
|
531 | 'createdAt' => (new \DateTime('2015-11-04 15:13:00'))->format(DateTime::RFC3339), |
|
532 | 'data' => [ |
|
533 | 'when' => (new \DateTime('2015-11-04 15:00:00'))->format(DateTime::RFC3339), |
|
534 | 'who' => 'Jane', |
|
535 | ], |
|
536 | 'cart' => '/v1/carts/8', |
|
537 | 'product' => '/v1/products/10', |
|
538 | 'cartItemDetailList' => [], |
|
539 | ], |
|
540 | ], |
|
541 | 'order' => null, |
|
542 | ]) |
|
543 | ||
544 | ->then |
|
545 | ->array($data = $this->testedInstance->serialize( |
|
546 | $cart, |
|
547 | 'Mapado\RestClientSdk\Tests\Model\JsonLd\Cart', |
|
548 | [ 'serializeRelations' => ['cart_items'] ] |
|
549 | )) |
|
550 | ->isIdenticalTo([ |
|
551 | 'weirdId' => '/v1/carts/8', |
|
552 | 'status' => 'payed', |
|
553 | 'clientPhoneNumber' => '+33 1 23 45 67 89', |
|
554 | 'createdAt' => (new \DateTime('2015-09-20T12:08:00'))->format(DateTime::RFC3339), |
|
555 | 'cart_items' => [ |
|
556 | [ |
|
557 | 'weirdId' => '/v1/cart_items/16', |
|
558 | 'amount' => 1, |
|
559 | 'createdAt' => (new \DateTime('2015-11-04 15:13:00'))->format(DateTime::RFC3339), |
|
560 | 'data' => [ |
|
561 | 'when' => (new \DateTime('2015-11-04 15:00:00'))->format(DateTime::RFC3339), |
|
562 | 'who' => 'Jane', |
|
563 | ], |
|
564 | 'cart' => '/v1/carts/8', |
|
565 | 'product' => '/v1/products/10', |
|
566 | 'cartItemDetailList' => [], |
|
567 | ], |
|
568 | ], |
|
569 | 'order' => null, |
|
570 | ]) |
|
571 | ||
572 | // reverse the serialization |
|
573 | ->then |
|
574 | ->object($cart = $this->testedInstance->deserialize($data, 'Mapado\RestClientSdk\Tests\Model\JsonLd\Cart')) |
|
575 | ->string($cart->getId()) |
|
576 | ->isEqualTo('/v1/carts/8') |
|
577 | ->array($cart->getCartItemList()) |
|
578 | ->size->isEqualTo(1) |
|
579 | // ->object($cartItem = current($cart->getCartItemList())) |
|
580 | // ->isInstanceOf('Mapado\RestClientSdk\Tests\Model\JsonLd\CartItem') |
|
581 | // ->string($cartItem->getId()) |
|
582 | // ->isEqualTo('/v1/cart_items/16') |
|
583 | ; |
|
584 | } |
|
585 | ||
586 | public function testDeserializeWithExtraFields() |
|
587 | { |