mediawiki-skins-MinervaNeue/tests/browser/features/step_definitions/notification_steps.rb
jdlrobson c0c90234d0 Port browser tests from MobileFrontend to Minerva
This moves all browser tests from MobileFrontend to the Minerva repo
in preparation for separating the two.

Note, this means browser tests will exist in both repositories for a
period of time. This is important and necessary to ensure we do not
break anything.

See:
https://lists.wikimedia.org/pipermail/mobile-l/2017-July/010536.html

Bug: T168758
Change-Id: I84ae3ea14191f672cabcd52020e80b0a40a72ce1
2017-07-11 14:11:03 -07:00

34 lines
1.2 KiB
Ruby

When /^I click on the notification icon$/ do
on(ArticlePage) do |page|
page.wait_until_rl_module_ready('skins.minerva.notifications')
page.notifications_button_element.when_present.click
end
end
Given(/^I have no notifications$/) do
expect(on(ArticlePage).notifications_button_element.when_present).to be_visible
# This is somewhat hacky, but I don't want this test making use of Echo's APIs which may change
browser.execute_script("$( function () { $( '.notification-count span' ).hide(); } );")
end
When(/^I click the notifications overlay close button$/) do
sleep 1
on(ArticlePage).notifications_overlay_close_button_element.when_present.click
end
When(/^the notifications overlay appears$/) do
on(ArticlePage) do |page|
page.wait_until_rl_module_ready('oojs-ui-core')
page.notifications_overlay_element.when_present
end
end
Then(/^after (.+) seconds I should not see the notifications overlay$/) do |seconds|
sleep seconds.to_i
expect(on(ArticlePage).notifications_overlay_element).not_to be_visible
end
Then(/^I should see the notifications overlay$/) do
expect(on(ArticlePage).notifications_overlay_element.when_present).to be_visible
end