public function testAttributesAreMutable() { $jsonLD = new Collection([], 'item/route'); $attributes = ['count' => 1376, 'order' => 'desc']; $jsonLD->setAttributes($attributes); $this->assertEquals($attributes, $jsonLD->getAttributes()); }
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']); }