protected function setUpCollection() { $this->collection = new Collection(); $style = ['type' => 'circle', 'color' => '#ffcc00']; $this->collection->setStyle(json_encode($style)); // Create Collection Type $this->collectionType = new CollectionType(); $this->collectionType->setName('Default Collection Type'); $this->collectionType->setDescription('Default Collection Type'); $this->collection->setType($this->collectionType); // Collection Meta 1 $this->collectionMeta = new CollectionMeta(); $this->collectionMeta->setTitle('Test Collection'); $this->collectionMeta->setDescription('This Description is only for testing'); $this->collectionMeta->setLocale('en-gb'); $this->collectionMeta->setCollection($this->collection); $this->collection->addMeta($this->collectionMeta); // Collection Meta 2 $collectionMeta2 = new CollectionMeta(); $collectionMeta2->setTitle('Test Kollektion'); $collectionMeta2->setDescription('Dies ist eine Test Beschreibung'); $collectionMeta2->setLocale('de'); $collectionMeta2->setCollection($this->collection); $this->collection->addMeta($collectionMeta2); $this->em->persist($this->collection); $this->em->persist($this->collectionType); $this->em->persist($this->collectionMeta); $this->em->persist($collectionMeta2); }
protected function setUp() { parent::setUp(); $this->purgeDatabase(); $this->em = $this->db('ORM')->getOm(); $collectionType = new CollectionType(); $collectionType->setName('Default Type'); $collectionType->setDescription('Default Collection Type'); $this->em->persist($collectionType); foreach ($this->collectionData as $collection) { $this->collections[] = $this->createCollection($collection[0], $collection[1], $collectionType); } $this->em->flush(); /** @var CollectionRepository $repository */ $repository = $this->getContainer()->get('sulu_media.collection_repository'); $repository->recover(); $this->em->flush(); }
private function createCollection($name, $parent = null) { $collection = new Collection(); $collectionType = new CollectionType(); $collectionType->setName($name); $collectionType->setDescription('Default Collection Type'); $collectionMeta = new CollectionMeta(); $collectionMeta->setTitle('Test Collection'); $collectionMeta->setDescription('This Description is only for testing'); $collectionMeta->setLocale('en-gb'); $collection->setType($collectionType); $collectionMeta->setCollection($collection); $collection->addMeta($collectionMeta); if ($parent !== null) { $collection->setParent($this->collections[$parent]); $this->collections[$parent]->addChildren($collection); } $this->em->persist($collection); $this->em->persist($collectionMeta); $this->em->persist($collectionType); return $collection; }
/** * @description Test PUT action without details */ public function testPutNoDetails() { $client = $this->createAuthenticatedClient(); // Add New Collection Type $collectionType = new CollectionType(); $collectionType->setName('Second Collection Type'); $collectionType->setKey('my-type'); $collectionType->setDescription('Second Collection Type'); $this->em->persist($collectionType); $this->em->flush(); // Test put with only details $client->request('PUT', '/api/collections/' . $this->collection1->getId(), ['style' => ['type' => 'quader', 'color' => '#00ccff'], 'type' => ['id' => $collectionType->getId()]]); $this->assertEquals(200, $client->getResponse()->getStatusCode()); $client->request('GET', '/api/collections/' . $this->collection1->getId() . '?locale=en-gb'); $response = json_decode($client->getResponse()->getContent()); $this->assertEquals(200, $client->getResponse()->getStatusCode()); $style = new \stdClass(); $style->type = 'quader'; $style->color = '#00ccff'; $this->assertEquals($style, $response->style); $this->assertNotNull($response->type->id); }