public function testAttributesAreMutable()
 {
     $jsonLD = new Collection([], 'item/route');
     $attributes = ['count' => 1376, 'order' => 'desc'];
     $jsonLD->setAttributes($attributes);
     $this->assertEquals($attributes, $jsonLD->getAttributes());
 }
Exemple #2
0
 public function testRendersAttributeAsPartOfPaginatedCollection()
 {
     $attributes = ['count' => 100, 'type' => 'foo'];
     $prototype = ['foo' => 'bar'];
     $items = [];
     foreach (range(1, 100) as $id) {
         $item = $prototype;
         $item['id'] = $id;
         $items[] = $item;
     }
     $adapter = new ArrayPaginator($items);
     $paginator = new Paginator($adapter);
     $collection = new Collection($paginator);
     $collection->setPageSize(5);
     $collection->setPage(3);
     $collection->setAttributes($attributes);
     $collection->setCollectionRoute('resource');
     $collection->setEntityRoute('resource');
     $properties = $collection->getProperties();
     $self = new Property('self');
     $self->setRoute('resource');
     $properties->add($self);
     $result = $this->plugin->renderCollection($collection);
     $this->assertInternalType('array', $result, var_export($result, 1));
     $this->assertArrayHasKey('count', $result, var_export($result, 1));
     $this->assertEquals(100, $result['count']);
     $this->assertArrayHasKey('type', $result);
     $this->assertEquals('foo', $result['type']);
 }