Fix acceptance tests

[MAILPOET-2480]
This commit is contained in:
Pavel Dohnal
2020-04-15 14:21:55 +02:00
committed by Veljko V
parent 5f747a391a
commit b59c3bb188
8 changed files with 29 additions and 15 deletions

View File

@@ -17,6 +17,7 @@ export default () => {
</Link> </Link>
<Link <Link
to="/segments" to="/segments"
data-automation-id="dynamic-segments-tab"
className={classnames('nav-tab', { 'nav-tab-active': current === 'segments' })} className={classnames('nav-tab', { 'nav-tab-active': current === 'segments' })}
> >
{MailPoet.I18n.t('pageTitleSegments')} {MailPoet.I18n.t('pageTitleSegments')}

View File

@@ -91,8 +91,6 @@ class AcceptanceTester extends \Codeception\Actor {
$path = 'newsletters'; $path = 'newsletters';
} elseif ($page === 'Lists') { } elseif ($page === 'Lists') {
$path = 'segments'; $path = 'segments';
} elseif ($page === 'Segments') {
$path = 'dynamic-segments';
} else { } else {
$path = strtolower($page); $path = strtolower($page);
} }

View File

@@ -9,16 +9,17 @@ class CreateNewSegmentCest {
$i->wantTo('Create a new WP user role segment'); $i->wantTo('Create a new WP user role segment');
$segmentTitle = 'Create User Role Segment Test'; $segmentTitle = 'Create User Role Segment Test';
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->click('[data-automation-id="new-segment"]'); $i->click('[data-automation-id="new-segment"]');
$i->seeInCurrentUrl('#/new');
$i->fillField(['name' => 'name'], $segmentTitle); $i->fillField(['name' => 'name'], $segmentTitle);
$i->fillField(['name' => 'description'], 'Lorem ipsum dolor amed'); $i->fillField(['name' => 'description'], 'Lorem ipsum dolor amed');
$i->selectOption('form select[name=segmentType]', 'WordPress user roles'); $i->selectOption('form select[name=segmentType]', 'WordPress user roles');
$i->selectOption('form select[name=wordpressRole]', 'Editor'); $i->selectOption('form select[name=wordpressRole]', 'Editor');
$i->click('Save'); $i->click('Save');
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForText($segmentTitle, 20); $i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$i->waitForText($segmentTitle);
} }
public function createEmailSegment(\AcceptanceTester $i) { public function createEmailSegment(\AcceptanceTester $i) {
@@ -28,9 +29,8 @@ class CreateNewSegmentCest {
$newsletterFactory->withSubject($emailSubject)->create(); $newsletterFactory->withSubject($emailSubject)->create();
$segmentTitle = 'Create Email Segment Test'; $segmentTitle = 'Create Email Segment Test';
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->click('[data-automation-id="new-segment"]'); $i->click('[data-automation-id="new-segment"]');
$i->seeInCurrentUrl('#/new');
$i->fillField(['name' => 'name'], $segmentTitle); $i->fillField(['name' => 'name'], $segmentTitle);
$i->fillField(['name' => 'description'], 'Lorem ipsum dolor amed'); $i->fillField(['name' => 'description'], 'Lorem ipsum dolor amed');
$i->selectOption('form select[name=segmentType]', 'Email'); $i->selectOption('form select[name=segmentType]', 'Email');
@@ -38,7 +38,9 @@ class CreateNewSegmentCest {
$i->click('#select2-newsletter_id-container'); $i->click('#select2-newsletter_id-container');
$i->selectOptionInSelect2($emailSubject); $i->selectOptionInSelect2($emailSubject);
$i->click('Save'); $i->click('Save');
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$i->waitForText($segmentTitle, 20); $i->waitForText($segmentTitle, 20);
} }
} }

View File

@@ -19,7 +19,9 @@ class DeleteTrashedSegmentCest {
$listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]'; $listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]';
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$i->waitForElement('[data-automation-id="filters_trash"]', 10); $i->waitForElement('[data-automation-id="filters_trash"]', 10);
$i->click('[data-automation-id="filters_trash"]'); $i->click('[data-automation-id="filters_trash"]');
$i->waitForText($segmentTitle, 10, $listingAutomationSelector); $i->waitForText($segmentTitle, 10, $listingAutomationSelector);

View File

@@ -18,18 +18,22 @@ class EditExistingSegmentCest {
->create(); ->create();
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]'; $listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]';
$i->waitForText($segmentTitle, 10, $listingAutomationSelector); $i->waitForText($segmentTitle, 10, $listingAutomationSelector);
$i->clickItemRowActionByItemName($segmentTitle, 'Edit'); $i->clickItemRowActionByItemName($segmentTitle, 'Edit');
$i->seeInCurrentUrl('mailpoet-dynamic-segments#/edit/' . $segment->id);
$i->waitForElementNotVisible('.mailpoet_form_loading'); $i->waitForElementNotVisible('.mailpoet_form_loading');
$i->fillField(['name' => 'name'], $segmentEditedTitle); $i->fillField(['name' => 'name'], $segmentEditedTitle);
$i->fillField(['name' => 'description'], 'Lorem ipsum dolor amed edited'); $i->fillField(['name' => 'description'], 'Lorem ipsum dolor amed edited');
$i->selectOption('form select[name=segmentType]', 'WordPress user roles'); $i->selectOption('form select[name=segmentType]', 'WordPress user roles');
$i->selectOption('form select[name=wordpressRole]', 'Editor'); $i->selectOption('form select[name=wordpressRole]', 'Editor');
$i->click('Save'); $i->click('Save');
$i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$i->waitForText($segmentEditedTitle, 20, $listingAutomationSelector); $i->waitForText($segmentEditedTitle, 20, $listingAutomationSelector);
$i->seeNoJSErrors(); $i->seeNoJSErrors();

View File

@@ -19,7 +19,10 @@ class RestoreTrashedSegmentCest {
$listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]'; $listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]';
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$i->waitForElement('[data-automation-id="filters_trash"]', 10); $i->waitForElement('[data-automation-id="filters_trash"]', 10);
$i->click('[data-automation-id="filters_trash"]'); $i->click('[data-automation-id="filters_trash"]');
$i->waitForText($segmentTitle, 10, $listingAutomationSelector); $i->waitForText($segmentTitle, 10, $listingAutomationSelector);

View File

@@ -23,7 +23,9 @@ class TrashExistingSegmentCest {
->create(); ->create();
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]'; $listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]';
$i->waitForText($segmentTitle, 10, $listingAutomationSelector); $i->waitForText($segmentTitle, 10, $listingAutomationSelector);
$i->clickItemRowActionByItemName($segmentTitle, 'Move to trash'); $i->clickItemRowActionByItemName($segmentTitle, 'Move to trash');

View File

@@ -30,7 +30,9 @@ class ViewSegmentSubscribersCest {
->create(); ->create();
$i->login(); $i->login();
$i->amOnMailpoetPage('Segments'); $i->amOnMailpoetPage('Lists');
$i->waitForElement('[data-automation-id="dynamic-segments-tab"]');
$i->click('[data-automation-id="dynamic-segments-tab"]');
$listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]'; $listingAutomationSelector = '[data-automation-id="listing_item_' . $segment->id . '"]';
$i->waitForText($segmentTitle, 10, $listingAutomationSelector); $i->waitForText($segmentTitle, 10, $listingAutomationSelector);
$i->clickItemRowActionByItemName($segmentTitle, 'View Subscribers'); $i->clickItemRowActionByItemName($segmentTitle, 'View Subscribers');