/** * @test * @group small * @group dev * @group library */ public function test_updateAllContentsOfWebsite_success() { // ARRANGE $websiteId = 'SITE-update00-defa-ult0-form-values000001-SITE'; $templateSnippetId = 'TPLS-update00-defa-ult0-form-values000001-TPLS'; $templateId = 'TPL-update00-defa-ult0-form-values000001-TPL'; $pageId = 'PAGE-update00-defa-ult0-form-values000001-PAGE'; $orgTemplateContentChecksum = 'theoriginaltemplatechecksum'; $contentUpdaterBusiness = new ContentUpdaterBusiness('ContentUpdater'); $templateSnippetService = new TemplateSnippetService('TemplateSnippet'); $templateService = new TemplateService('Template'); $pageService = new PageService('Page'); $expectedSnippetContent = json_decode(FS::readContentFromFile(FS::joinPath($this->jsonFilesDirectory, 'expected_templatesnippet_content.json'))); $expectedTemplateContent = json_decode(FS::readContentFromFile(FS::joinPath($this->jsonFilesDirectory, 'expected_template_content.json'))); $expectedPageContent = json_decode(FS::readContentFromFile(FS::joinPath($this->jsonFilesDirectory, 'expected_page_1_content.json'))); // ACT $contentUpdaterBusiness->updateAllContentsOfWebsite($websiteId); // ASSERT $snippet = $templateSnippetService->getById($websiteId, $templateSnippetId); $actualSnippetContent = json_decode($snippet->getContent()); $this->assertEquals($expectedSnippetContent, $actualSnippetContent); $template = $templateService->getById($templateId, $websiteId); $this->assertNotSame($orgTemplateContentChecksum, $template->getContentchecksum()); $actualTemplateContent = json_decode($template->getContent()); $this->assertEquals($expectedTemplateContent, $actualTemplateContent); $page = $pageService->getById($pageId, $websiteId); $this->assertNotSame($orgTemplateContentChecksum, $page->getTemplatecontentchecksum()); $actualPageContent = json_decode($page->getContent()); $this->assertFormValuesOfPageContent($expectedPageContent, $actualPageContent); }
/** * @test * @group library */ public function getByIdShouldThrowExceptionIfTemplateSnippetNotExists() { $websiteId = 'SITE-template-snip-pet0-test-000000000001-SITE'; $idOfANotExistingSnippet = 'TPLS-template-snip-pet0-not0-existing0001-TPLS'; $snippetExists = false; $existingTemplateSnippets = $this->service->getAll($websiteId); foreach ($existingTemplateSnippets as $snippet) { if ($idOfANotExistingSnippet == $snippet->getId()) { $snippetExists = true; break; } } $this->assertFalse($snippetExists, sprintf('The TemplateSnippet (%s) exists.', $idOfANotExistingSnippet)); try { $this->service->getById($websiteId, $idOfANotExistingSnippet); } catch (CmsException $e) { if ($e->getCode() == 1602) { return; } $this->fail(sprintf('Wrong CmsException (%s) with code "%d" has been raised, code 1602 expected.', $e->getMessage(), $e->getCode())); } catch (\Exception $e) { $this->fail(sprintf('Wrong exception (%s) has been raised.', $e->getMessage())); } $this->fail('The expected CmsException with code 1602 has not been raised.'); }
/** * 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 small * @group dev * @group library */ public function test_updateDefaultFormValuesOfTemplate_success() { // ARRANGE $websiteId = 'SITE-update00-defa-ult0-form-values000001-SITE'; $templateSnippetId = 'TPLS-update00-defa-ult0-form-values000001-TPLS'; $contentUpdaterService = new ContentUpdaterService('ContentUpdater'); $templateSnippetService = new TemplateSnippetService('TemplateSnippet'); $expectedContent = json_decode(FS::readContentFromFile(FS::joinPath($this->jsonFilesDirectory, 'expected_templatesnippet_content.json'))); // ACT $contentUpdaterService->updateDefaultFormValuesOfTemplateSnippet($websiteId, $templateSnippetId); // ASSERT $templateSnippet = $templateSnippetService->getById($websiteId, $templateSnippetId); $actualContent = json_decode($templateSnippet->getContent()); $this->assertEquals($expectedContent, $actualContent); }
/** * @test * @group library */ public function getAllDescShouldRetrieveExpectedTemplatesSnippets() { $websiteId = 'SITE-template-snip-pet0-test-000000000001-SITE'; $expectedSnippets = array(array('id' => 'TPLS-template-snip-pet0-test-000000000001-TPLS', 'name' => 'TEMPLATE_SNIPPET_NAME_1', 'description' => 'TEMPLATE_SNIPPET_DESCRIPTION_1', 'category' => 'TEMPLATE_SNIPPET_CATEGORY_1', 'baselayout' => false, 'pagetypes' => array(), 'content' => '[]'), array('id' => 'TPLS-template-snip-pet0-test-000000000002-TPLS', 'name' => 'TEMPLATE_SNIPPET_NAME_2', 'description' => 'TEMPLATE_SNIPPET_DESCRIPTION_2', 'category' => 'TEMPLATE_SNIPPET_CATEGORY_2', 'baselayout' => false, 'pagetypes' => array(), 'content' => '[]'), array('id' => 'TPLS-template-snip-pet0-test-000000000003-TPLS', 'name' => 'TEMPLATE_SNIPPET_NAME_3', 'description' => 'TEMPLATE_SNIPPET_DESCRIPTION_3', 'category' => 'TEMPLATE_SNIPPET_CATEGORY_3', 'baselayout' => false, 'pagetypes' => array(), 'content' => '[]')); $actualSnippets = $this->service->getAll($websiteId, 'DESC'); $this->assertSame(count($expectedSnippets), count($actualSnippets)); foreach ($actualSnippets as $actualIndex => $snippet) { $index = count($expectedSnippets) - $actualIndex - 1; $this->assertInstanceOf('Cms\\Data\\TemplateSnippet', $snippet); $snippetAsArray = $snippet->toArray(); foreach ($expectedSnippets[$index] as $attributeName => $expectedValue) { $this->assertEquals($expectedValue, $snippetAsArray[$attributeName]); } $uuidValidator = new UniqueIdValidator(\Orm\Data\TemplateSnippet::ID_PREFIX, \Orm\Data\TemplateSnippet::ID_SUFFIX); $this->assertTrue($uuidValidator->isValid($snippet->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)); } } }
/** * @param string $websiteId * * @return Data\TemplateSnippet[] */ protected function getAllTemplateSnippets($websiteId) { $templateSnippetService = new ServiceTemplateSnippet('TemplateSnippet'); return $templateSnippetService->getAll($websiteId); }