Add more robust check for send form presence to acceptance tests [MQ-29]

There is a short delay between rendering of a heading and the form fields.
It is safer to wait for form itself before manipulating it.
This commit is contained in:
Rostislav Wolny
2018-07-17 14:08:15 +02:00
parent 9b19858734
commit 33149d041c
5 changed files with 8 additions and 3 deletions

View File

@@ -216,6 +216,7 @@ const Form = React.createClass({
? this.props.onSubmit ? this.props.onSubmit
: this.handleSubmit : this.handleSubmit
} }
data-automation-id={this.props.automationId}
> >
{ errors } { errors }

View File

@@ -349,6 +349,7 @@ const NewsletterSend = React.createClass({
<Form <Form
id="mailpoet_newsletter" id="mailpoet_newsletter"
fields={fields} fields={fields}
automationId="newsletter_send_form"
item={this.state.item} item={this.state.item}
loading={this.state.loading} loading={this.state.loading}
onChange={this.handleFormChange} onChange={this.handleFormChange}

View File

@@ -31,7 +31,8 @@ class EditExistingNewsletterCest {
$I->click('Next'); $I->click('Next');
// step 4 - Choose list and save // step 4 - Choose list and save
$I->waitForText('Final Step: Last Details'); $send_form_element = '[data-automation-id="newsletter_send_form"]';
$I->waitForElement($send_form_element);
$I->seeInCurrentUrl('mailpoet-newsletters#/send/'); $I->seeInCurrentUrl('mailpoet-newsletters#/send/');
$search_field_element = 'input.select2-search__field'; $search_field_element = 'input.select2-search__field';
$I->fillField($search_field_element, 'WordPress Users'); $I->fillField($search_field_element, 'WordPress Users');

View File

@@ -79,7 +79,8 @@ class NewsletterCreationCest {
$I->click('Next'); $I->click('Next');
// step 4 - Choose list and send // step 4 - Choose list and send
$I->waitForText('Final Step: Last Details'); $send_form_element = '[data-automation-id="newsletter_send_form"]';
$I->waitForElement($send_form_element);
$I->seeInCurrentUrl('mailpoet-newsletters#/send/'); $I->seeInCurrentUrl('mailpoet-newsletters#/send/');
$search_field_element = 'input.select2-search__field'; $search_field_element = 'input.select2-search__field';
$I->fillField($search_field_element, 'WordPress Users'); $I->fillField($search_field_element, 'WordPress Users');

View File

@@ -30,7 +30,8 @@ class SaveNewsletterAsDraftCest {
$I->fillField($title_element, $newsletter_title); $I->fillField($title_element, $newsletter_title);
$I->click('Next'); $I->click('Next');
// step 4 - Choose list and send // step 4 - Choose list and send
$I->waitForText('Final Step: Last Details'); $send_form_element = '[data-automation-id="newsletter_send_form"]';
$I->waitForElement($send_form_element);
$I->seeInCurrentUrl('mailpoet-newsletters#/send/'); $I->seeInCurrentUrl('mailpoet-newsletters#/send/');
$search_field_element = 'input.select2-search__field'; $search_field_element = 'input.select2-search__field';
$I->fillField($search_field_element, 'WordPress Users'); $I->fillField($search_field_element, 'WordPress Users');