/** * @test * @group library */ public function createShouldStoreExpectedTemplate() { // ARRANGE $websiteId = 'SITE-30490289-dddb-4501-879f-9c6c7965f871-SITE'; $create = array('name' => uniqid(__METHOD__, true), 'content' => array(array('id' => 'TEST_CONTENT_CREATE')), 'pageType' => 'the_page_type_id'); // ACT $this->service->create($websiteId, $create); // ASSERT $templates = $this->service->getAll($websiteId); foreach ($templates as $template) { if ($template->getName() === $create['name']) { $createdTemplate = $template; break; } } $this->assertInstanceOf('Cms\\Data\\Template', $createdTemplate); $this->assertSame($create['name'], $createdTemplate->getName()); $this->assertSame($create['pageType'], $createdTemplate->getPageType()); $this->assertSame(\Zend_Json::encode($create['content']), $createdTemplate->getContent()); $uuidValidator = new UniqueIdValidator(\Orm\Data\Template::ID_PREFIX, \Orm\Data\Template::ID_SUFFIX); $this->assertTrue($uuidValidator->isValid($createdTemplate->getId())); // Timestamp der letzten Aenderung darf nicht aelter sein als ein paar Sekunden $this->assertNotNull($createdTemplate->getLastupdate()); $currentTime = time(); $this->assertLessThanOrEqual($currentTime, $createdTemplate->getLastupdate()); $this->assertGreaterThan($currentTime - 2, $createdTemplate->getLastupdate()); }
/** * @test * @group library */ public function getAllShouldRetrieveExpectedTemplates() { $websiteId = 'SITE-30490289-dddb-4501-879f-9c6c7965f871-SITE'; $uniqName = uniqid(__METHOD__, true); $creates = array(array('name' => $uniqName . '_1', 'content' => array(array('id' => 'TEST_CONTENT_GET_ALL_1')), 'pageType' => 'TEST_PAGETYPE_GET_ALL_1'), array('name' => $uniqName . '_2', 'content' => array(array('id' => 'TEST_CONTENT_GET_ALL_2')), 'pageType' => 'TEST_PAGETYPE_GET_ALL_2'), array('name' => $uniqName . '_3', 'content' => array(array('id' => 'TEST_CONTENT_GET_ALL_3')))); foreach ($creates as $create) { $this->service->create($websiteId, $create); } $templates = $this->service->getAll($websiteId); $this->assertSame(count($creates) + count($templates), count($templates) + count($creates)); foreach ($creates as $create) { foreach ($templates as $template) { if ($create['name'] === $template->getName()) { $createdTemplates[] = $template; } } } $this->assertSame(count($creates), count($createdTemplates)); foreach ($createdTemplates as $index => $template) { $this->assertInstanceOf('Cms\\Data\\Template', $template); $this->assertSame($creates[$index]['name'], $template->getName()); $this->assertSame(\Zend_Json::encode($creates[$index]['content']), $template->getContent()); if (array_key_exists('pageType', $creates[$index])) { $this->assertEquals($creates[$index]['pageType'], $template->getPageType()); } else { $this->assertNull($template->getPageType()); } $uuidValidator = new UniqueIdValidator(\Orm\Data\Template::ID_PREFIX, \Orm\Data\Template::ID_SUFFIX); $this->assertTrue($uuidValidator->isValid($template->getId())); } }
/** * Legt fuer eine angegebene Website ein oder mehrere Templates an * * Die Template-IDs werden zurueckgegbene * * @param string $websiteId * @param int $number * @return array */ private function createTemplatesForWebsite($websiteId, $number = 1) { $templateIds = array(); $uniqName = uniqid(__METHOD__, true); $createdCounter = 0; while ($createdCounter < $number) { $createdCounter++; $create = array('name' => $uniqName . '_' . $createdCounter, 'content' => array(array('id' => 'TEST_CONTENT_GET_BY_ID_' . $createdCounter))); $template = $this->service->create($websiteId, $create); $templateIds[] = $template->getId(); } return $templateIds; }
/** * @test * @group library */ public function deleteShouldDeleteExpectedTemplate() { $websiteId = 'SITE-30490289-dddb-4501-879f-9c6c7965f871-SITE'; $create = array('name' => uniqid(__METHOD__, true), 'content' => array(array('id' => 'TEST_CONTENT_DELETE_BY_ID'))); $this->service->create($websiteId, $create); $afterCreateTemplates = $this->service->getAll($websiteId); foreach ($afterCreateTemplates as $template) { if ($template->getName() === $create['name'] && $template->getWebsiteId() === $websiteId) { $createdTemplate = $template; } } $idOfCreatedTemplated = $createdTemplate->getId(); $this->service->delete($idOfCreatedTemplated, $websiteId); $afterDeleteTemplates = $this->service->getAll($websiteId); $this->assertSame(count($afterCreateTemplates) - 1, count($afterDeleteTemplates)); }
/** * @test * @group library */ public function getByIdShouldReturnExpectedTemplate() { $websiteId = 'SITE-30490289-dddb-4501-879f-9c6c7965f871-SITE'; $create = array('name' => uniqid(__METHOD__, true), 'content' => array(array('id' => 'TEST_CONTENT_GET_BY_ID')), 'pageType' => 'TEST_PAGETYPE_GET_BY_ID'); $this->service->create($websiteId, $create); $templates = $this->service->getAll($websiteId); foreach ($templates as $template) { if ($template->getName() === $create['name']) { $createdTemplate = $template; break; } } $idOfCreatedTemplated = $createdTemplate->getId(); $getByIdTemplate = $this->service->getById($idOfCreatedTemplated, $websiteId); $this->assertInstanceOf('Cms\\Data\\Template', $getByIdTemplate); $this->assertSame($create['name'], $getByIdTemplate->getName()); $this->assertSame(\Zend_Json::encode($create['content']), $getByIdTemplate->getContent()); $this->assertSame($create['pageType'], $getByIdTemplate->getPageType()); $uuidValidator = new UniqueIdValidator(\Orm\Data\Template::ID_PREFIX, \Orm\Data\Template::ID_SUFFIX); $this->assertTrue($uuidValidator->isValid($getByIdTemplate->getId())); }