Code Duplication    Length = 58-59 lines in 2 locations

test/JsonApiSerializerTest.php 2 locations

@@ 2460-2518 (lines=59) @@
2457
        $this->assertSame($expectedJson, $scope->toJson());
2458
    }
2459
2460
    public function testCustomLinkMerge()
2461
    {
2462
        $manager = new Manager();
2463
        $manager->setSerializer(new JsonApiSerializer('http://test.de'));
2464
2465
        $bookData = [
2466
            'id' => 1,
2467
            'title' => 'Foo',
2468
            'year' => '1991',
2469
            '_author' => [
2470
                'id' => 1,
2471
                'name' => 'Dave',
2472
            ],
2473
            'links' => [
2474
                'custom_link' => '/custom/link',
2475
            ],
2476
        ];
2477
2478
        $resource = new Item($bookData, new JsonApiBookTransformer(), 'books');
2479
2480
        $scope = new Scope($manager, $resource);
2481
2482
        $expected = [
2483
            'data' => [
2484
                'type' => 'books',
2485
                'id' => '1',
2486
                'attributes' => [
2487
                    'title' => 'Foo',
2488
                    'year' => 1991,
2489
                ],
2490
                'links' => [
2491
                    'self' => 'http://test.de/books/1',
2492
                    'custom_link' => '/custom/link',
2493
                ],
2494
                'relationships' => [
2495
                    'author' => [
2496
                        'links' => [
2497
                            'self' => 'http://test.de/books/1/relationships/author',
2498
                            'related' => 'http://test.de/books/1/author',
2499
                        ],
2500
                    ],
2501
                    'co-author' => [
2502
                        'links' => [
2503
                            'self' => 'http://test.de/books/1/relationships/co-author',
2504
                            'related' => 'http://test.de/books/1/co-author'
2505
                        ],
2506
                    ],
2507
                    'author-with-meta' => [
2508
                        'links' => [
2509
                            'self' => 'http://test.de/books/1/relationships/author-with-meta',
2510
                            'related' => 'http://test.de/books/1/author-with-meta'
2511
                        ],
2512
                    ],
2513
                ],
2514
            ],
2515
        ];
2516
2517
        $this->assertSame(json_encode($expected), $scope->toJson());
2518
    }
2519
2520
    public function testCustomLinkMergeNoLink()
2521
    {
@@ 2576-2633 (lines=58) @@
2573
        $this->assertSame(json_encode($expected), $scope->toJson());
2574
    }
2575
2576
    public function testCustomSelfLinkMerge()
2577
    {
2578
        $manager = new Manager();
2579
        $manager->setSerializer(new JsonApiSerializer('http://test.de'));
2580
2581
        $bookData = [
2582
            'id' => 1,
2583
            'title' => 'Foo',
2584
            'year' => '1991',
2585
            '_author' => [
2586
                'id' => 1,
2587
                'name' => 'Dave',
2588
            ],
2589
            'links' => [
2590
                'self' => '/custom/link',
2591
            ],
2592
        ];
2593
2594
        $resource = new Item($bookData, new JsonApiBookTransformer(), 'books');
2595
2596
        $scope = new Scope($manager, $resource);
2597
2598
        $expected = [
2599
            'data' => [
2600
                'type' => 'books',
2601
                'id' => '1',
2602
                'attributes' => [
2603
                    'title' => 'Foo',
2604
                    'year' => 1991,
2605
                ],
2606
                'links' => [
2607
                    'self' => '/custom/link',
2608
                ],
2609
                'relationships' => [
2610
                    'author' => [
2611
                        'links' => [
2612
                            'self' => 'http://test.de/books/1/relationships/author',
2613
                            'related' => 'http://test.de/books/1/author',
2614
                        ],
2615
                    ],
2616
                    'co-author' => [
2617
                        'links' => [
2618
                            'self' => 'http://test.de/books/1/relationships/co-author',
2619
                            'related' => 'http://test.de/books/1/co-author'
2620
                        ],
2621
                    ],
2622
                    'author-with-meta' => [
2623
                        'links' => [
2624
                            'self' => 'http://test.de/books/1/relationships/author-with-meta',
2625
                            'related' => 'http://test.de/books/1/author-with-meta'
2626
                        ],
2627
                    ],
2628
                ],
2629
            ],
2630
        ];
2631
2632
        $this->assertSame(json_encode($expected), $scope->toJson());
2633
    }
2634
2635
    public function testEmptyAttributesIsObject()
2636
    {