| @@ 37-66 (lines=30) @@ | ||
| 34 | /** |
|
| 35 | * @test |
|
| 36 | */ |
|
| 37 | public function canSerializeAPet() |
|
| 38 | { |
|
| 39 | $pet = new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Pet(); |
|
| 40 | $pet |
|
| 41 | ->setId(1234567) |
|
| 42 | ->setName('doggie') |
|
| 43 | ->setPhotourls(['/a/b/c', '/d/e/f']) |
|
| 44 | ->setTags([ |
|
| 45 | (new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Tag())->setName('purebreeds'), |
|
| 46 | (new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Tag())->setName('puppies') |
|
| 47 | ]) |
|
| 48 | ->setCategory( |
|
| 49 | (new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Category())->setName('Dogs') |
|
| 50 | ); |
|
| 51 | ||
| 52 | $serializer = SerializerBuilder::create()->build(); |
|
| 53 | $actual = json_decode($serializer->serialize($pet, 'json'), true); |
|
| 54 | $expected = [ |
|
| 55 | 'id' => 1234567, |
|
| 56 | 'category' => ['name' => 'Dogs'], |
|
| 57 | 'name' => 'doggie', |
|
| 58 | 'photo_urls' => ['/a/b/c', '/d/e/f'], |
|
| 59 | 'tags' => [ |
|
| 60 | ['name' => 'purebreeds'], |
|
| 61 | ['name' => 'puppies'], |
|
| 62 | ] |
|
| 63 | ||
| 64 | ]; |
|
| 65 | $this->assertSame($expected, $actual); |
|
| 66 | } |
|
| 67 | ||
| 68 | /** |
|
| 69 | * @test |
|
| @@ 71-105 (lines=35) @@ | ||
| 68 | /** |
|
| 69 | * @test |
|
| 70 | */ |
|
| 71 | public function canDeserializeAPet() |
|
| 72 | { |
|
| 73 | $data = [ |
|
| 74 | 'id' => 1234567, |
|
| 75 | 'category' => ['name' => 'Dogs'], |
|
| 76 | 'name' => 'doggie', |
|
| 77 | 'photo_urls' => ['/a/b/c', '/d/e/f'], |
|
| 78 | 'tags' => [ |
|
| 79 | ['name' => 'purebreeds'], |
|
| 80 | ['name' => 'puppies'], |
|
| 81 | ] |
|
| 82 | ]; |
|
| 83 | ||
| 84 | $serializer = SerializerBuilder::create()->build(); |
|
| 85 | $actual = $serializer->deserialize( |
|
| 86 | json_encode($data), |
|
| 87 | 'KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Pet', |
|
| 88 | 'json' |
|
| 89 | ); |
|
| 90 | ||
| 91 | $expected = new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Pet(); |
|
| 92 | $expected |
|
| 93 | ->setId(1234567) |
|
| 94 | ->setName('doggie') |
|
| 95 | ->setPhotourls(['/a/b/c', '/d/e/f']) |
|
| 96 | ->setTags([ |
|
| 97 | (new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Tag())->setName('purebreeds'), |
|
| 98 | (new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Tag())->setName('puppies') |
|
| 99 | ]) |
|
| 100 | ->setCategory( |
|
| 101 | (new \KleijnWeb\SwaggerBundle\Tests\Functional\PetStore\Model\Jms\Category())->setName('Dogs') |
|
| 102 | ); |
|
| 103 | ||
| 104 | $this->assertEquals($expected, $actual); |
|
| 105 | } |
|
| 106 | } |
|
| 107 | ||