Spaces:
No application file
No application file
File size: 3,820 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
<?php
declare(strict_types=1);
namespace Mautic\PageBundle\Tests\Controller;
use Mautic\CoreBundle\Test\MauticMysqlTestCase;
use Mautic\PageBundle\Entity\Page;
use Symfony\Component\HttpFoundation\Request;
class PreviewSettingsFunctionalTest extends MauticMysqlTestCase
{
public function testPreviewSettingsAllEnabled(): void
{
$pageMain = new Page();
$pageMain->setIsPublished(true);
$pageMain->setDateAdded(new \DateTime());
$pageMain->setTitle('Preview settings test - main page');
$pageMain->setAlias('page-main');
$pageMain->setTemplate('Blank');
$pageMain->setCustomHtml('Test Html');
$pageMain->setLanguage('en');
$this->em->persist($pageMain);
$this->em->flush();
$mainPageId = $pageMain->getId();
$crawler = $this->client->request(Request::METHOD_GET, '/s/pages');
self::assertStringContainsString($pageMain->getTitle(), $crawler->text());
$crawler = $this->client->request(Request::METHOD_GET, "/s/pages/view/{$mainPageId}");
// Translation choice is not visible
self::assertCount(
0,
$crawler->filterXPath('//*[@id="content_preview_settings_translation"]')
);
// Variant choice is not visible
self::assertCount(
0,
$crawler->filterXPath('//*[@id="content_preview_settings_variant"]')
);
// Contact lookup is not visible
self::assertCount(
1,
$crawler->filterXPath('//*[@id="content_preview_settings_contact"]')
);
$pageTranslated = new Page();
$pageTranslated->setIsPublished(true);
$pageTranslated->setDateAdded(new \DateTime());
$pageTranslated->setTitle('Preview settings test - NL translation');
$pageTranslated->setAlias('page-trans-nl');
$pageTranslated->setTemplate('Blank');
$pageTranslated->setCustomHtml('Test Html');
$pageTranslated->setLanguage('nl_CW');
// Add translation relationship to main page
$pageMain->addTranslationChild($pageTranslated);
$pageTranslated->setTranslationParent($pageMain);
$pageVariant = new Page();
$pageVariant->setIsPublished(true);
$pageVariant->setDateAdded(new \DateTime());
$pageVariant->setTitle('Preview settings test - B variant');
$pageVariant->setAlias('page-variant-b');
$pageVariant->setTemplate('Blank');
$pageVariant->setCustomHtml('Test Html');
$pageVariant->setLanguage('en');
// Add variant relationship to main page
$pageMain->addVariantChild($pageVariant);
$this->em->persist($pageMain);
$this->em->persist($pageTranslated);
$this->em->persist($pageVariant);
$this->em->flush();
$crawler = $this->client->request(Request::METHOD_GET, "/s/pages/view/{$mainPageId}");
// Translation choice is visible
self::assertCount(
1,
$crawler->filterXPath('//*[@id="content_preview_settings_translation"]')
);
self::assertCount(
1,
$crawler->filterXPath('//*[@id="content_preview_settings_translation"]/option[@value="'.$pageTranslated->getId().'"]')
);
// Variant choice is visible
self::assertCount(
1,
$crawler->filterXPath('//*[@id="content_preview_settings_variant"]')
);
self::assertCount(
1,
$crawler->filterXPath('//*[@id="content_preview_settings_variant"]/option[@value="'.$pageVariant->getId().'"]')
);
// Contact lookup is visible
self::assertCount(
1,
$crawler->filterXPath('//*[@id="content_preview_settings_contact"]')
);
}
}
|