Use Doctrine for update success message in Settings

[MAILPOET-3034]
This commit is contained in:
Jan Lysý
2021-03-07 18:39:57 +01:00
committed by Veljko V
parent 90295b3c3a
commit cb0d3c70ad
6 changed files with 52 additions and 11 deletions

View File

@@ -2,21 +2,27 @@
namespace MailPoet\Test\DataFactories;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Models\Form as FormModel;
use MailPoet\Settings\SettingsController;
use MailPoetVendor\Carbon\Carbon;
class Form {
/** @var SettingsController */
private $settingsController;
private $data;
public function __construct() {
$this->settingsController = ContainerWrapper::getInstance()->get(SettingsController::class);
$this->data = [
'name' => 'New form',
'body' => 'a:2:{i:0;a:5:{s:2:"id";s:5:"email";s:4:"name";s:5:"Email";s:4:"type";s:4:"text";s:6:"static";b:1;s:6:"params";a:2:{s:5:"label";s:5:"Email";s:8:"required";b:1;}}i:1;a:5:{s:2:"id";s:6:"submit";s:4:"name";s:6:"Submit";s:4:"type";s:6:"submit";s:6:"static";b:1;s:6:"params";a:1:{s:5:"label";s:10:"Subscribe!";}}}',
'settings' => [
'on_success' => 'message',
'success_message' => FormModel::getDefaultSuccessMessage(),
'success_message' => $this->settingsController->getDefaultSuccessMessage(),
'segments' => [2],
'segments_selected_by' => 'admin',
],
@@ -125,7 +131,7 @@ class Form {
}
public function withDefaultSuccessMessage() {
FormModel::updateSuccessMessages();
$this->settingsController->updateSuccessMessages();
}
/**

View File

@@ -2,7 +2,8 @@
use Facebook\WebDriver\Exception\UnrecognizedExceptionException;
use Facebook\WebDriver\WebDriverKeys;
use MailPoet\Models\Form as FormModel;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Settings\SettingsController;
use MailPoet\Test\DataFactories\Form;
use MailPoet\Test\DataFactories\Segment;
use MailPoet\Test\DataFactories\Subscriber;
@@ -164,10 +165,13 @@ class AcceptanceTester extends \Codeception\Actor {
$i->cli(['widget', 'add', 'mailpoet_form', 'sidebar-1', '2', "--form=$form->id", '--title=Subscribe to Our Newsletter']);
// subscribe
/** @var SettingsController $settingsController */
$settingsController = ContainerWrapper::getInstance()->get(SettingsController::class);
$i->amOnUrl(self::WP_URL);
$i->fillField('[data-automation-id="form_email"]', 'subscriber@example.com');
$i->click('[data-automation-id="subscribe-submit-button"]');
$i->waitForText(FormModel::getDefaultSuccessMessage(), 30, '.mailpoet_validate_success');
$i->waitForText($settingsController->getDefaultSuccessMessage(), 30, '.mailpoet_validate_success');
$i->seeNoJSErrors();
}

View File

@@ -153,7 +153,7 @@ class FormTest extends \MailPoetTest {
'settings' => ['success_message' => 'Thanks for joining us!'],
]);
$this->settings->set('signup_confirmation.enabled', '0');
Form::updateSuccessMessages();
$this->settings->updateSuccessMessages();
$default = Form::findOne($default->id);
$custom = Form::findOne($custom->id);
assert($default instanceof Form);
@@ -174,7 +174,7 @@ class FormTest extends \MailPoetTest {
'settings' => ['success_message' => 'Thanks for joining us!'],
]);
$this->settings->set('signup_confirmation.enabled', '1');
Form::updateSuccessMessages();
$this->settings->updateSuccessMessages();
$default = Form::findOne($default->id);
$custom = Form::findOne($custom->id);
assert($default instanceof Form);