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

Reply via email to