Refactor creating of default form to use templates

[MAILPOET-2985]
This commit is contained in:
Rostislav Wolny
2020-07-01 10:47:23 +02:00
committed by Veljko V
parent 4fc3d7b686
commit 14aa0b1393
11 changed files with 115 additions and 92 deletions

View File

@@ -38,4 +38,36 @@ class FormFactoryTest extends \MailPoetTest {
expect($formEntity->getSettings())->notEmpty();
expect($formEntity->getStyles())->string();
}
public function testItCanOverrideTemplateSettings() {
$settings = [
'success_message' => 'Hello Buddy!',
'segments' => [1, 2, 3],
];
$formEntity = $this->formFactory->createFormFromTemplate(TemplateRepository::INITIAL_FORM_TEMPLATE, $settings);
assert($formEntity instanceof FormEntity);
$formSettings = $formEntity->getSettings() ?? [];
expect($formSettings['success_message'])->equals('Hello Buddy!');
expect($formSettings['segments'])->equals([1, 2, 3]);
}
public function testItCanEnsureDefaultFormExists() {
$this->cleanup();
$formEntity = $this->formFactory->ensureDefaultFormExists(2);
assert($formEntity instanceof FormEntity);
$formSettings = $formEntity->getSettings() ?? [];
expect($formSettings['segments'])->equals(['2']);
// Doesn't create any form if some exists
$formEntity = $this->formFactory->ensureDefaultFormExists(2);
expect($formEntity)->null();
}
public function _after() {
parent::_after();
$this->cleanup();
}
private function cleanup() {
$this->truncateEntity(FormEntity::class);
}
}