Code Duplication    Length = 51-52 lines in 2 locations

test/Serializer/JsonApiSerializerTest.php 2 locations

@@ 21-71 (lines=51) @@
18
        $this->manager->setSerializer(new JsonApiSerializer());
19
    }
20
21
    public function testSerializingItemResourceWithHasOneInclude()
22
    {
23
        $this->manager->parseIncludes('author');
24
25
        $bookData = [
26
            'id' => 1,
27
            'title' => 'Foo',
28
            'year' => '1991',
29
            '_author' => [
30
                'id' => 1,
31
                'name' => 'Dave',
32
            ],
33
        ];
34
35
        $resource = new Item($bookData, new JsonApiBookTransformer(), 'books');
36
37
        $scope = new Scope($this->manager, $resource);
38
39
        $expected = [
40
            'data' => [
41
                'type' => 'books',
42
                'id' => '1',
43
                'attributes' => [
44
                    'title' => 'Foo',
45
                    'year' => 1991,
46
                ],
47
                'relationships' => [
48
                    'author' => [
49
                        'data' => [
50
                            'type' => 'people',
51
                            'id' => '1',
52
                        ],
53
                    ],
54
                ],
55
            ],
56
            'included' => [
57
                [
58
                    'type' => 'people',
59
                    'id' => '1',
60
                    'attributes' => [
61
                        'name' => 'Dave',
62
                    ],
63
                ],
64
            ],
65
        ];
66
67
        $this->assertSame($expected, $scope->toArray());
68
69
        $expectedJson = '{"data":{"type":"books","id":"1","attributes":{"title":"Foo","year":1991},"relationships":{"author":{"data":{"type":"people","id":"1"}}}},"included":[{"type":"people","id":"1","attributes":{"name":"Dave"}}]}';
70
        $this->assertSame($expectedJson, $scope->toJson());
71
    }
72
73
    public function testSerializingItemResourceWithHasOneDasherizedInclude()
74
    {
@@ 985-1036 (lines=52) @@
982
        $this->assertSame($expectedJson, $scope->toJson());
983
    }
984
985
    public function testSerializingItemResourceWithSelfLink()
986
    {
987
        $baseUrl = 'http://example.com';
988
        $this->manager->setSerializer(new JsonApiSerializer($baseUrl));
989
990
        $bookData = [
991
            'id' => 1,
992
            'title' => 'Foo',
993
            'year' => '1991',
994
            '_author' => [
995
                'id' => 1,
996
                'name' => 'Dave',
997
            ],
998
        ];
999
1000
        $resource = new Item($bookData, new JsonApiBookTransformer(), 'books');
1001
1002
        $scope = new Scope($this->manager, $resource);
1003
1004
        $expected = [
1005
            'data' => [
1006
                'type' => 'books',
1007
                'id' => '1',
1008
                'attributes' => [
1009
                    'title' => 'Foo',
1010
                    'year' => 1991,
1011
                ],
1012
                'links' => [
1013
                    'self' => 'http://example.com/books/1',
1014
                ],
1015
                'relationships' => [
1016
                    'author' => [
1017
                        'links' => [
1018
                            'self' => 'http://example.com/books/1/relationships/author',
1019
                            'related' => 'http://example.com/books/1/author',
1020
                        ],
1021
                    ],
1022
                    'co-author' => [
1023
                        'links' => [
1024
                            'self' => 'http://example.com/books/1/relationships/co-author',
1025
                            'related' => 'http://example.com/books/1/co-author',
1026
                        ],
1027
                    ],
1028
                ],
1029
            ],
1030
        ];
1031
1032
        $this->assertSame($expected, $scope->toArray());
1033
1034
        $expectedJson = '{"data":{"type":"books","id":"1","attributes":{"title":"Foo","year":1991},"links":{"self":"http:\/\/example.com\/books\/1"},"relationships":{"author":{"links":{"self":"http:\/\/example.com\/books\/1\/relationships\/author","related":"http:\/\/example.com\/books\/1\/author"}},"co-author":{"links":{"self":"http:\/\/example.com\/books\/1\/relationships\/co-author","related":"http:\/\/example.com\/books\/1\/co-author"}}}}}';
1035
        $this->assertSame($expectedJson, $scope->toJson());
1036
    }
1037
1038
    public function testSerializingCollectionResourceWithSelfLink()
1039
    {