Fix acceptance tests

This commit is contained in:
Amine Ben hammou
2020-03-20 05:54:10 +01:00
committed by Veljko V
parent e88aef03d9
commit 13eebc742c
9 changed files with 84 additions and 83 deletions

View File

@@ -6,7 +6,7 @@ import { Label, Inputs } from 'settings/components';
export default function InactiveSubscribers() { export default function InactiveSubscribers() {
const [duration, setDuration] = useSetting('deactivate_subscriber_after_inactive_days'); const [duration, setDuration] = useSetting('deactivate_subscriber_after_inactive_days');
const [trackingEnabled] = useSetting('tracking', 'enabled');
return ( return (
<> <>
<Label <Label
@@ -28,9 +28,13 @@ export default function InactiveSubscribers() {
htmlFor="" htmlFor=""
/> />
<Inputs> <Inputs>
{!trackingEnabled && <p data-automation-id="inactive-subscribers-disabled">{t('disabledBecauseTrackingIs')}</p>}
{trackingEnabled && (
<div data-automation-id="inactive-subscribers-enabled">
<input <input
type="radio" type="radio"
id="inactive-subscribers-disabled" id="inactive-subscribers-disabled"
data-automation-id="inactive-subscribers-option-never"
value="" value=""
checked={duration === ''} checked={duration === ''}
onChange={onChange(setDuration)} onChange={onChange(setDuration)}
@@ -56,6 +60,7 @@ export default function InactiveSubscribers() {
value="180" value="180"
checked={duration === '180'} checked={duration === '180'}
onChange={onChange(setDuration)} onChange={onChange(setDuration)}
data-automation-id="inactive-subscribers-default"
/> />
<label htmlFor="inactive-subscribers-6-months"> <label htmlFor="inactive-subscribers-6-months">
{t('after6months')} {t('after6months')}
@@ -71,6 +76,8 @@ export default function InactiveSubscribers() {
<label htmlFor="inactive-subscribers-12-months"> <label htmlFor="inactive-subscribers-12-months">
{t('after12months')} {t('after12months')}
</label> </label>
</div>
)}
</Inputs> </Inputs>
</> </>
); );

View File

@@ -27,7 +27,14 @@ export default function Reinstall() {
htmlFor="" htmlFor=""
/> />
<Inputs> <Inputs>
<button type="button" className="button" onClick={onClick}>{t('reinstallNow')}</button> <button
type="button"
className="button"
onClick={onClick}
data-automation-id="reinstall-button"
>
{t('reinstallNow')}
</button>
</Inputs> </Inputs>
</> </>
); );

View File

@@ -34,6 +34,7 @@ export default function ShareData() {
value="1" value="1"
checked={enabled === '1'} checked={enabled === '1'}
onChange={onChange(setEnabled)} onChange={onChange(setEnabled)}
data-automation-id="analytics-yes"
/> />
<label htmlFor="share-data-enabled"> <label htmlFor="share-data-enabled">
{t('yes')} {t('yes')}
@@ -45,6 +46,7 @@ export default function ShareData() {
value="" value=""
checked={enabled === ''} checked={enabled === ''}
onChange={onChange(setEnabled)} onChange={onChange(setEnabled)}
data-automation-id="analytics-no"
/> />
<label htmlFor="share-data-disabled"> <label htmlFor="share-data-disabled">
{t('no')} {t('no')}

View File

@@ -36,6 +36,7 @@ export default function TaskScheduler() {
value="WordPress" value="WordPress"
checked={method === 'WordPress'} checked={method === 'WordPress'}
onChange={onChange(setMethod)} onChange={onChange(setMethod)}
data-automation-id="wordress_cron_radio"
/> />
<label htmlFor="cron_trigger-method-wordpress"> <label htmlFor="cron_trigger-method-wordpress">
{t('websiteVisitors')} {t('websiteVisitors')}
@@ -47,6 +48,7 @@ export default function TaskScheduler() {
value="MailPoet" value="MailPoet"
checked={method === 'MailPoet'} checked={method === 'MailPoet'}
onChange={onChange(setMethod)} onChange={onChange(setMethod)}
data-automation-id="mailpoet_cron_radio"
/> />
<label htmlFor="cron_trigger-method-mailpoet"> <label htmlFor="cron_trigger-method-mailpoet">
{ReactStringReplace(t('mailpoetScript'), {ReactStringReplace(t('mailpoetScript'),
@@ -70,6 +72,7 @@ export default function TaskScheduler() {
value="Linux Cron" value="Linux Cron"
checked={method === 'Linux Cron'} checked={method === 'Linux Cron'}
onChange={onChange(setMethod)} onChange={onChange(setMethod)}
data-automation-id="linux_cron_radio"
/> />
<label htmlFor="cron_trigger-method-cron"> <label htmlFor="cron_trigger-method-cron">
{t('serverCron')} {t('serverCron')}

View File

@@ -21,6 +21,7 @@ export default function Tracking() {
value="1" value="1"
checked={enabled === '1'} checked={enabled === '1'}
onChange={onChange(setEnabled)} onChange={onChange(setEnabled)}
data-automation-id="tracking-enabled-radio"
/> />
<label htmlFor="tracking-enabled"> <label htmlFor="tracking-enabled">
{t('yes')} {t('yes')}
@@ -32,6 +33,7 @@ export default function Tracking() {
value="" value=""
checked={enabled === ''} checked={enabled === ''}
onChange={onChange(setEnabled)} onChange={onChange(setEnabled)}
data-automation-id="tracking-disabled-radio"
/> />
<label htmlFor="tracking-disabled"> <label htmlFor="tracking-disabled">
{t('no')} {t('no')}

View File

@@ -12,39 +12,17 @@ class AdvancedSettingsCest {
$i->login(); $i->login();
$i->amOnMailPoetPage('Settings'); $i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForText('Bounce email address'); $i->waitForElement($noAnonymousData);
$i->selectOption($noAnonymousData, 'No'); $i->click($noAnonymousData);
//save + refresh //save + refresh
$i->click($submitButton); $i->click($submitButton);
$i->waitForText($successMessage); $i->waitForText($successMessage);
$i->seeOptionIsSelected($noAnonymousData, 'No'); $i->seeCheckboxIsChecked($noAnonymousData);
//repeat for Yes //repeat for Yes
$i->selectOption($yesAnonymousData, 'Yes'); $i->click($yesAnonymousData);
$i->click($submitButton); $i->click($submitButton);
$i->waitForText($successMessage); $i->waitForText($successMessage);
$i->seeOptionIsSelected($yesAnonymousData, 'Yes'); $i->seeCheckboxIsChecked($yesAnonymousData);
}
public function addBounceEmailAddress(\AcceptanceTester $i) {
$i->wantTo('Add a bounce email address on Advanced Settings page');
$bounceAddressField = '[data-automation-id="bounce-address-field"]';
$bounceAddressText = 'bounce@bounce.bounce';
$submitButton = '[data-automation-id="settings-submit-button"]';
$successMessage = "Settings saved";
$i->login();
$i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForElement($bounceAddressField);
$i->fillField($bounceAddressField, $bounceAddressText);
$i->click($submitButton);
$i->waitForText($successMessage);
$i->waitForElement($bounceAddressField);
//check System Info to make sure the value changed in db
$i->amOnMailPoetPage('Help');
$i->waitForText('Knowledge Base');
$i->click('System Info');
$i->waitForText('The information below is useful');
$i->waitForText($bounceAddressText);
} }
public function toggleTaskScheduler(\AcceptanceTester $i) { public function toggleTaskScheduler(\AcceptanceTester $i) {
@@ -55,18 +33,17 @@ class AdvancedSettingsCest {
$systemInfoWordPressCron = "Task Scheduler method: WordPress"; $systemInfoWordPressCron = "Task Scheduler method: WordPress";
$systemInfoMailPoetCron = "Task Scheduler method: MailPoet"; $systemInfoMailPoetCron = "Task Scheduler method: MailPoet";
$systemInfoLinuxCron = "Task Scheduler method: Linux Cron"; $systemInfoLinuxCron = "Task Scheduler method: Linux Cron";
$bounceAddressField = '[data-automation-id="bounce-address-field"]';
$submitButton = '[data-automation-id="settings-submit-button"]'; $submitButton = '[data-automation-id="settings-submit-button"]';
$successMessage = "Settings saved"; $successMessage = "Settings saved";
//switch to MailPoet cron //switch to MailPoet cron
$i->login(); $i->login();
$i->amOnMailPoetPage('Settings'); $i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForElement($bounceAddressField); $i->waitForElement($chooseMailPoetCron);
$i->click($chooseMailPoetCron); $i->click($chooseMailPoetCron);
$i->click($submitButton); $i->click($submitButton);
$i->waitForText($successMessage); $i->waitForText($successMessage);
$i->waitForElement($bounceAddressField); $i->waitForElement($chooseMailPoetCron);
//check System Info to make sure the value changed //check System Info to make sure the value changed
$i->amOnMailPoetPage('Help'); $i->amOnMailPoetPage('Help');
$i->waitForText('Knowledge Base'); $i->waitForText('Knowledge Base');
@@ -76,11 +53,11 @@ class AdvancedSettingsCest {
//switch to linux cron //switch to linux cron
$i->amOnMailPoetPage('Settings'); $i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForElement($bounceAddressField); $i->waitForElement($chooseLinuxCron);
$i->click($chooseLinuxCron); $i->click($chooseLinuxCron);
$i->click($submitButton); $i->click($submitButton);
$i->waitForText($successMessage); $i->waitForText($successMessage);
$i->waitForElement($bounceAddressField); $i->waitForElement($chooseLinuxCron);
//check System Info to make sure the value changed //check System Info to make sure the value changed
$i->amOnMailPoetPage('Help'); $i->amOnMailPoetPage('Help');
$i->waitForText('Knowledge Base'); $i->waitForText('Knowledge Base');
@@ -90,11 +67,11 @@ class AdvancedSettingsCest {
//switch to default cron //switch to default cron
$i->amOnMailPoetPage('Settings'); $i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForElement($bounceAddressField); $i->waitForElement($chooseWordPressCron);
$i->click($chooseWordPressCron); $i->click($chooseWordPressCron);
$i->click($submitButton); $i->click($submitButton);
$i->waitForText($successMessage); $i->waitForText($successMessage);
$i->waitForElement($bounceAddressField); $i->waitForElement($chooseWordPressCron);
//check System Info to make sure the value changed //check System Info to make sure the value changed
$i->amOnMailPoetPage('Help'); $i->amOnMailPoetPage('Help');
$i->waitForText('Knowledge Base'); $i->waitForText('Knowledge Base');
@@ -143,9 +120,12 @@ class AdvancedSettingsCest {
public function checkInactiveSubscribers(\AcceptanceTester $i) { public function checkInactiveSubscribers(\AcceptanceTester $i) {
$i->wantTo('Check that inactive subsribers has default value'); $i->wantTo('Check that inactive subsribers has default value');
$inactiveSubscribersDefault = '[data-automation-id="inactive-subscribers-default"]'; $inactiveSubscribersDefault = '[data-automation-id="inactive-subscribers-default"]';
$trackingEnabled = '[data-automation-id="tracking-enabled-radio"]';
$i->login(); $i->login();
$i->amOnMailPoetPage('Settings'); $i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForElement($trackingEnabled);
$i->click($trackingEnabled);
$i->waitForElement($inactiveSubscribersDefault); $i->waitForElement($inactiveSubscribersDefault);
$i->seeCheckboxIsChecked($inactiveSubscribersDefault); $i->seeCheckboxIsChecked($inactiveSubscribersDefault);

View File

@@ -30,7 +30,7 @@ class ReinstallFromScratchCest {
// Step 2 - reinstall from scratch // Step 2 - reinstall from scratch
$i->amOnPage('/wp-admin/admin.php?page=mailpoet-settings#advanced'); $i->amOnPage('/wp-admin/admin.php?page=mailpoet-settings#advanced');
$i->waitForElement('#mailpoet_reinstall'); $i->waitForElement('[data-automation-id="reinstall-button"]');
$i->click('Reinstall now...'); $i->click('Reinstall now...');
$i->acceptPopup(); $i->acceptPopup();
$i->waitForText('Welcome! Lets get you started on the right foot.'); $i->waitForText('Welcome! Lets get you started on the right foot.');

View File

@@ -36,7 +36,7 @@ class SettingsInactiveSubscribersChangeCest {
$i->login(); $i->login();
$i->amOnMailPoetPage('Settings'); $i->amOnMailPoetPage('Settings');
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForElement('[data-automation-id="inactive-subscribers-enabled"]'); $i->waitForElement('[data-automation-id="inactive-subscribers-option-never"]');
$i->click('[data-automation-id="inactive-subscribers-option-never"]'); $i->click('[data-automation-id="inactive-subscribers-option-never"]');
$i->click('[data-automation-id="settings-submit-button"]'); $i->click('[data-automation-id="settings-submit-button"]');
$i->waitForText('Settings saved'); $i->waitForText('Settings saved');

View File

@@ -23,7 +23,7 @@ class SettingsPageBasicsCest {
$i->seeNoJSErrors(); $i->seeNoJSErrors();
//Advanced Tab //Advanced Tab
$i->click('[data-automation-id="settings-advanced-tab"]'); $i->click('[data-automation-id="settings-advanced-tab"]');
$i->waitForText('Bounce email address'); $i->waitForText('Newsletter task scheduler');
$i->seeNoJSErrors(); $i->seeNoJSErrors();
//Activation Key Tab //Activation Key Tab
$i->click('[data-automation-id="activation_settings_tab"]'); $i->click('[data-automation-id="activation_settings_tab"]');