Improve the subscription page test
[MAILPOET-5326]
This commit is contained in:
@@ -2,9 +2,13 @@
|
|||||||
|
|
||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
|
use Codeception\Util\Locator;
|
||||||
|
use MailPoet\Test\DataFactories\Subscriber;
|
||||||
|
|
||||||
class SubscriptionPageCest {
|
class SubscriptionPageCest {
|
||||||
public function previewDefaultSubscriptionPage(\AcceptanceTester $i) {
|
public function previewDefaultSubscriptionPage(\AcceptanceTester $i) {
|
||||||
$i->wantTo('Preview default MailPoet page from MP Settings page');
|
$i->wantTo('Preview default MailPoet page from MP Settings page');
|
||||||
|
|
||||||
$i->login();
|
$i->login();
|
||||||
$i->amOnMailPoetPage('Settings');
|
$i->amOnMailPoetPage('Settings');
|
||||||
$i->click('[data-automation-id="preview_manage_subscription_page_link"]');
|
$i->click('[data-automation-id="preview_manage_subscription_page_link"]');
|
||||||
@@ -13,19 +17,51 @@ class SubscriptionPageCest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function createNewSubscriptionPage(\AcceptanceTester $i) {
|
public function createNewSubscriptionPage(\AcceptanceTester $i) {
|
||||||
$i->wantTo('Make a custom subscription page');
|
$i->wantTo('Make and set a custom manage subscription page');
|
||||||
|
|
||||||
$pageTitle = 'CustomSubscriptionPage';
|
$pageTitle = 'CustomSubscriptionPage';
|
||||||
$pageContent = 'This is custom manage subscription page [mailpoet_manage_subscription]';
|
$pageContent = 'This is custom manage subscription page';
|
||||||
$i->cli(['post', 'create', '--post_status=publish', '--post_type=page', "--post_title='$pageTitle'", "--post_content='$pageContent'"]);
|
$emailContent = 'Click <a href="[link:subscription_manage_url]">Manage Subscription</a> to see the subscription page.';
|
||||||
|
$emailAddress = 'subscriber@example.com';
|
||||||
|
$confirmationEmailName = 'Confirm your subscription';
|
||||||
|
$subscriberFactory = new Subscriber();
|
||||||
|
$subscriberFactory->withEmail($emailAddress)
|
||||||
|
->withStatus('unconfirmed')
|
||||||
|
->withCountConfirmations(0)
|
||||||
|
->create();
|
||||||
|
|
||||||
|
$i->cli(['post', 'create', '--post_status=publish', '--post_type=page', "--post_title='$pageTitle'", "--post_content='$pageContent [mailpoet_manage_subscription]'"]);
|
||||||
|
|
||||||
$i->login();
|
$i->login();
|
||||||
|
|
||||||
$i->amOnMailPoetPage('Settings');
|
$i->amOnMailPoetPage('Settings');
|
||||||
$i->click(['css' => '[data-automation-id="subscription-manage-page-selection"]']);
|
$i->click(['css' => '[data-automation-id="subscription-manage-page-selection"]']);
|
||||||
$i->selectOption('[data-automation-id="subscription-manage-page-selection"]', $pageTitle);
|
$i->selectOption('[data-automation-id="subscription-manage-page-selection"]', $pageTitle);
|
||||||
//save settings and then verify the page
|
|
||||||
$i->click('[data-automation-id="settings-submit-button"]');
|
$i->click('[data-automation-id="settings-submit-button"]');
|
||||||
|
$i->waitForNoticeAndClose('Settings saved');
|
||||||
|
|
||||||
|
$i->wantTo('Click the manage subscription link and verify it');
|
||||||
|
|
||||||
|
// Making a shortcut in this scenario by providing required url in the conf email
|
||||||
|
$i->click('[data-automation-id="signup_settings_tab"]');
|
||||||
|
$i->checkOption('[data-automation-id="mailpoet_confirmation_email_customizer"]');
|
||||||
|
$i->clearField('[data-automation-id="signup_confirmation_email_body"]');
|
||||||
|
$i->fillField('[data-automation-id="signup_confirmation_email_body"]', $emailContent);
|
||||||
|
$i->click('Save settings');
|
||||||
$i->waitForText('Settings saved');
|
$i->waitForText('Settings saved');
|
||||||
$i->click('[data-automation-id="preview_manage_subscription_page_link"]');
|
|
||||||
|
$i->amOnMailpoetPage('Subscribers');
|
||||||
|
$i->waitForText($emailAddress);
|
||||||
|
$i->clickItemRowActionByItemName($emailAddress, 'Resend confirmation email');
|
||||||
|
$i->waitForText('1 confirmation email has been sent.');
|
||||||
|
|
||||||
|
$i->amOnMailboxAppPage();
|
||||||
|
$i->checkEmailWasReceived($confirmationEmailName);
|
||||||
|
$i->click(Locator::contains('span.subject', $confirmationEmailName));
|
||||||
|
$i->switchToIframe('#preview-html');
|
||||||
|
$i->click('Manage Subscription');
|
||||||
$i->switchToNextTab();
|
$i->switchToNextTab();
|
||||||
$i->waitForText('This is custom manage subscription page');
|
$i->waitForText($pageTitle);
|
||||||
|
$i->waitForText($pageContent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user