mediawiki-skins-MinervaNeue/tests/browser/features/step_definitions/common_article_steps.rb
jdlrobson ebef44d0fe QA: Make sure toast is not empty before checking text value
Copies approach for the text of the first heading should be
accounting for the fact that the toast can have an empty
message "" at any given time.

Bug: T170890
Change-Id: Iba8a503a2aea30cb46fba27f000843183e9c46f1
2017-08-01 12:59:54 -07:00

65 lines
1.9 KiB
Ruby

Given(/^I click continue$/) do
on(ArticlePage).continue_button_element.when_present.click
end
Given(/^I click submit$/) do
on(ArticlePage) do |page|
page.spinner_loading_element.when_not_present
page.submit_button_element.when_present.click
end
end
When(/^I click on the history link in the last modified bar$/) do
on(ArticlePage).last_modified_bar_history_link_element.when_present.click
expect(on(SpecialHistoryPage).side_list_element.when_present(10)).to be_visible
end
When(/^I click on the page$/) do
on(ArticlePage).content_wrapper_element.click
end
When(/^I click the unwatch star$/) do
on(ArticlePage).unwatch_star_element.when_present.click
end
When(/^I click the watch star$/) do
on(ArticlePage).watch_star_element.when_present.click
end
Then(/^I should see a toast notification$/) do
# To avoid flakey tests check the notification area element first (T170890)
expect(on(ArticlePage).notification_area_element.when_visible).to be_visible
expect(on(ArticlePage).toast_element.when_visible).to be_visible
end
Then(/^I should see a toast with message "(.+)"$/) do |msg|
step "I should see a toast notification"
on(ArticlePage) do |page|
page.wait_until do
page.toast_element.when_present.text.include? msg
end
expect(page.toast_element.when_present.text).to match msg
end
end
Then /^I should see a drawer with message "(.+)"$/ do |text|
expect(on(ArticlePage).drawer_element.when_present.text).to match text
end
Then(/^the text of the first heading should be "(.*)"$/) do |title|
on(ArticlePage) do |page|
page.wait_until do
page.first_heading_element.when_present.text.include? title
end
expect(page.first_heading_element.when_present.text).to match title
end
end
Then /^the watch star should be selected$/ do
expect(on(ArticlePage).unwatch_star_element).to be_visible
end
Then /^the watch star should not be selected$/ do
expect(on(ArticlePage).watch_star_element).to be_visible
end