Improve the subscription page test
[MAILPOET-5326]
This commit is contained in:
@@ -2,9 +2,13 @@
|
||||
|
||||
namespace MailPoet\Test\Acceptance;
|
||||
|
||||
use Codeception\Util\Locator;
|
||||
use MailPoet\Test\DataFactories\Subscriber;
|
||||
|
||||
class SubscriptionPageCest {
|
||||
public function previewDefaultSubscriptionPage(\AcceptanceTester $i) {
|
||||
$i->wantTo('Preview default MailPoet page from MP Settings page');
|
||||
|
||||
$i->login();
|
||||
$i->amOnMailPoetPage('Settings');
|
||||
$i->click('[data-automation-id="preview_manage_subscription_page_link"]');
|
||||
@@ -13,19 +17,51 @@ class SubscriptionPageCest {
|
||||
}
|
||||
|
||||
public function createNewSubscriptionPage(\AcceptanceTester $i) {
|
||||
$i->wantTo('Make a custom subscription page');
|
||||
$i->wantTo('Make and set a custom manage subscription page');
|
||||
|
||||
$pageTitle = 'CustomSubscriptionPage';
|
||||
$pageContent = 'This is custom manage subscription page [mailpoet_manage_subscription]';
|
||||
$i->cli(['post', 'create', '--post_status=publish', '--post_type=page', "--post_title='$pageTitle'", "--post_content='$pageContent'"]);
|
||||
$pageContent = 'This is custom manage subscription page';
|
||||
$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->amOnMailPoetPage('Settings');
|
||||
$i->click(['css' => '[data-automation-id="subscription-manage-page-selection"]']);
|
||||
$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->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->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->waitForText('This is custom manage subscription page');
|
||||
$i->waitForText($pageTitle);
|
||||
$i->waitForText($pageContent);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user