Sbisson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/240901
Change subject: Refresh flow page until optin process is finished
......................................................................
Refresh flow page until optin process is finished
Change-Id: Ib379980ae78fe86c120c98c7db2fa380fd37c646
---
M tests/browser/features/step_definitions/opt_in_steps.rb
M tests/browser/features/step_definitions/special_enable_flow_steps.rb
D tests/browser/features/support/div_extension.rb
M tests/browser/features/support/env.rb
A tests/browser/features/support/extensions.rb
5 files changed, 37 insertions(+), 24 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow
refs/changes/01/240901/1
diff --git a/tests/browser/features/step_definitions/opt_in_steps.rb
b/tests/browser/features/step_definitions/opt_in_steps.rb
index 7042cb1..23894ea 100644
--- a/tests/browser/features/step_definitions/opt_in_steps.rb
+++ b/tests/browser/features/step_definitions/opt_in_steps.rb
@@ -17,7 +17,7 @@
Then(/^my talk page is a Flow board$/) do
visit(UserTalkPage, using_params: { username: @username }) do |page|
- page.flow.board_element.when_present
+ page.refresh_until { page.flow.board_element.visible? }
end
end
@@ -66,6 +66,7 @@
flow_archive_name = "./User_talk:#{@username}/Flow_Archive_1"
talk_page_link = "User_talk:#{@username}".gsub '_', ' '
visit(WikiPage, using_params: { page: flow_archive_name }) do |page|
+ page.refresh_until { page.flow.board_element.visible? }
page.flow.board_element.when_present
expect(page.flow.header).to_not match talk_page_link
end
@@ -82,6 +83,7 @@
Then(/^my talk page is my old Flow board$/) do
archive_name = "User_talk:#{@username}/Archive_1".gsub '_', ' '
visit(UserTalkPage, using_params: { username: @username }) do |page|
+ page.refresh_until { page.flow.board_element.visible? }
expect(page.content_element.when_present.text).to match @topic_title
expect(page.flow.header).to match archive_name
end
@@ -90,7 +92,7 @@
Then(/^my flow board contains a link to my archived talk page$/) do
archive_name = "User_talk:#{@username}/Archive_1".gsub '_', ' '
visit(UserTalkPage, using_params: { username: @username }) do |page|
- page.flow.board_element.when_present
+ page.refresh_until { page.flow.board_element.visible? }
expect(page.flow.header).to match archive_name
end
end
diff --git
a/tests/browser/features/step_definitions/special_enable_flow_steps.rb
b/tests/browser/features/step_definitions/special_enable_flow_steps.rb
index a15d5f9..6de5ee9 100644
--- a/tests/browser/features/step_definitions/special_enable_flow_steps.rb
+++ b/tests/browser/features/step_definitions/special_enable_flow_steps.rb
@@ -71,6 +71,7 @@
Then(/^the board description contains the templates from my talk page$/) do
on(AbstractFlowPage) do |page|
+ page.refresh_until { page.flow.board_element.visible? }
description = page.description.content_element.when_present.text
expect(description).to match 'Template:Template before first heading'
expect(description).to_not match 'Template:Template after first heading'
diff --git a/tests/browser/features/support/div_extension.rb
b/tests/browser/features/support/div_extension.rb
deleted file mode 100644
index 59690e8..0000000
--- a/tests/browser/features/support/div_extension.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-require "watir-webdriver/wait"
-
-module Watir
- class Div
- def clear
- send_keys [:command, 'a'], :backspace
- send_keys [:control, 'a'], :backspace
- end
- end
-
- class TextArea
- def when_enabled
- Watir::Wait.until { !self.disabled? }
- self
- end
-
- def text
- value
- end
- end
-end
diff --git a/tests/browser/features/support/env.rb
b/tests/browser/features/support/env.rb
index 8e9b3f5..c896240 100644
--- a/tests/browser/features/support/env.rb
+++ b/tests/browser/features/support/env.rb
@@ -3,7 +3,7 @@
require 'mediawiki_selenium/support'
require 'mediawiki_selenium/step_definitions'
-require_relative 'div_extension'
+require_relative 'extensions'
def env_or_default(key, default)
ENV[key].nil? ? default : ENV[key].to_i
diff --git a/tests/browser/features/support/extensions.rb
b/tests/browser/features/support/extensions.rb
new file mode 100644
index 0000000..d421061
--- /dev/null
+++ b/tests/browser/features/support/extensions.rb
@@ -0,0 +1,31 @@
+require "watir-webdriver/wait"
+
+module Watir
+ class Div
+ def clear
+ send_keys [:command, 'a'], :backspace
+ send_keys [:control, 'a'], :backspace
+ end
+ end
+
+ class TextArea
+ def when_enabled
+ Watir::Wait.until { !self.disabled? }
+ self
+ end
+
+ def text
+ value
+ end
+ end
+end
+
+module PageObject
+ def refresh_until(timeout = PageObject.default_page_wait, message = nil,
&block)
+ platform.wait_until(timeout, message) do
+ yield.tap do |result|
+ refresh unless result
+ end
+ end
+ end
+end
--
To view, visit https://gerrit.wikimedia.org/r/240901
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib379980ae78fe86c120c98c7db2fa380fd37c646
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Sbisson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits