/** * Legt fuer eine angegebene Website ein oder mehrere TemplateSnippets an * * Die TemplateSnippet-IDs werden zurueckgegbene * * @param string $websiteId * @param int $number * @return array */ private function createTemplateSnippetsForWebsite($websiteId, $number = 1, $content = '[]') { $templateSnippetIds = array(); $createdCounter = 0; while ($createdCounter < $number) { $createdCounter++; $create = array('name' => __METHOD__ . '_' . rand(), 'content' => $content); $templateSnippet = $this->service->create($websiteId, $create); $templateSnippetIds[] = $templateSnippet->getId(); } return $templateSnippetIds; }
/** * @test * @group library */ public function getByIdShouldReturnExpectedTemplateSnippet() { $websiteId = 'SITE-template-snip-pet0-test-000000000001-SITE'; $create = array('name' => 'TEMPLATE_SNIPPET_NAME_' . __METHOD__, 'description' => 'TEMPLATE_SNIPPET_DESCRIPTION_' . __METHOD__, 'category' => 'TEMPLATE_SNIPPET_CATEGORY_' . __METHOD__, 'content' => '[]'); $createdSnippet = $this->service->create($websiteId, $create); $idOfCreatedTemplateSnippet = $createdSnippet->getId(); $getByIdTemplateSnippet = $this->service->getById($websiteId, $idOfCreatedTemplateSnippet); $this->assertInstanceOf('Cms\\Data\\TemplateSnippet', $getByIdTemplateSnippet); $this->assertSame($idOfCreatedTemplateSnippet, $getByIdTemplateSnippet->getId()); $this->assertSame($create['name'], $getByIdTemplateSnippet->getName()); $this->assertSame($create['description'], $getByIdTemplateSnippet->getDescription()); $this->assertSame($create['category'], $getByIdTemplateSnippet->getCategory()); $this->assertSame($create['content'], $getByIdTemplateSnippet->getContent()); $uuidValidator = new UniqueIdValidator(\Orm\Data\TemplateSnippet::ID_PREFIX, \Orm\Data\TemplateSnippet::ID_SUFFIX); $this->assertTrue($uuidValidator->isValid($getByIdTemplateSnippet->getId())); }
/** * @test * @group library */ public function createShouldStoreExpectedTemplateSnippet() { $websiteId = 'SITE-template-snip-pet0-test-000000000001-SITE'; $create = array('name' => __METHOD__, 'description' => 'TEMPLATE_SNIPPET_DESCRIPTION_' . __METHOD__, 'category' => 'TEMPLATE_SNIPPET_CATEGORY_' . __METHOD__, 'content' => '[]'); $snippetId = $this->service->create($websiteId, $create); $createdTemplateSnippet = $this->service->getById($websiteId, $snippetId->getId()); $this->assertInstanceOf('Cms\\Data\\TemplateSnippet', $createdTemplateSnippet); $this->assertSame($create['name'], $createdTemplateSnippet->getName()); $this->assertSame($create['description'], $createdTemplateSnippet->getDescription()); $this->assertSame($create['category'], $createdTemplateSnippet->getCategory()); $this->assertSame($create['content'], $createdTemplateSnippet->getContent()); $uuidValidator = new UniqueIdValidator(\Orm\Data\TemplateSnippet::ID_PREFIX, \Orm\Data\TemplateSnippet::ID_SUFFIX); $this->assertTrue($uuidValidator->isValid($createdTemplateSnippet->getId())); // Timestamp der letzten Aenderung darf nicht aelter sein als ein paar Sekunden $this->assertNotNull($createdTemplateSnippet->getLastupdate()); $currentTime = time(); $this->assertLessThanOrEqual($currentTime, $createdTemplateSnippet->getLastupdate()); $this->assertGreaterThan($currentTime - 2, $createdTemplateSnippet->getLastupdate()); }
/** * @test * @group library */ public function deleteShouldDeleteExpectedTemplateSnippet() { $websiteId = 'SITE-template-snip-pet0-test-000000000001-SITE'; $create = array('name' => 'TEMPLATE_SNIPPET_NAME_' . __METHOD__, 'description' => 'TEMPLATE_SNIPPET_DESCRIPTION_' . __METHOD__, 'category' => 'TEMPLATE_SNIPPET_CATEGORY_' . __METHOD__, 'content' => '[]'); $createdSnippet = $this->service->create($websiteId, $create); $snippetIdToDelete = $createdSnippet->getId(); $existsSnippetToDelete = false; $beforeDeleteTemplates = $this->service->getAll($websiteId); foreach ($beforeDeleteTemplates as $snippet) { if ($snippetIdToDelete == $snippet->getId()) { $existsSnippetToDelete = true; break; } } $this->assertTrue($existsSnippetToDelete, sprintf('The TemplateSnippet (%d) for the delete test does not exists.', $snippetIdToDelete)); $this->service->delete($websiteId, $snippetIdToDelete); $afterDeleteTemplates = $this->service->getAll($websiteId); $this->assertSame(count($beforeDeleteTemplates) - 1, count($afterDeleteTemplates)); foreach ($afterDeleteTemplates as $snippet) { if ($snippetIdToDelete == $snippet->getId()) { $this->fail(sprintf('Deleted TemplateSnippet "%s" exists.', $snippetIdToDelete)); } } }