Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/227367

Change subject: Fix flakey search in pages feature
......................................................................

Fix flakey search in pages feature

We seem to have forgotten that history.back is queued
Thus correct behaviour so this feature works as expected.
Also cleanup the browser test in the process to make it clearer to debug
in future

Changes:
* the page "Selenium search test" exists step seems to actually visit this
page, so switch the order so we are on the correct starting page.
* Add a step to explicitly check the ajax search request has finished.

Bug: T98476
Change-Id: I9abb8f57adb7d7e197a8a9e73aee0894ab407d57
---
M resources/mobile.search/SearchOverlay.js
M tests/browser/features/search.feature
M tests/browser/features/step_definitions/search_steps.rb
3 files changed, 11 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/67/227367/1

diff --git a/resources/mobile.search/SearchOverlay.js 
b/resources/mobile.search/SearchOverlay.js
index 8d2b0de..728e437 100644
--- a/resources/mobile.search/SearchOverlay.js
+++ b/resources/mobile.search/SearchOverlay.js
@@ -163,7 +163,11 @@
                                        value: 'search'
                                } )
                                .appendTo( $form );
-                       $form.submit();
+                       // history.back queues a task so might run after this 
call. Thus we use setTimeout
+                       // 
http://www.w3.org/TR/2011/WD-html5-20110113/webappapis.html#queue-a-task
+                       window.setTimeout( function () {
+                               $form.submit();
+                       }, 0 );
                },
 
                /**
diff --git a/tests/browser/features/search.feature 
b/tests/browser/features/search.feature
index ce9b062..385744a 100644
--- a/tests/browser/features/search.feature
+++ b/tests/browser/features/search.feature
@@ -3,8 +3,8 @@
 
   Background:
     Given I am using the mobile site
+      #And the page "Selenium search test" exists
       And I am on the "Main Page" page
-      And the page "Selenium search test" exists
     When I click the placeholder search box
 
   Scenario: Closing search (overlay button)
@@ -23,6 +23,7 @@
   Scenario: Search with search in pages button
       And I see the search overlay
       And I type into search box "Test is used by Selenium web driver"
+      And I see the search in pages button
       And I click the search in pages button
     Then I should see a list of search results
 
diff --git a/tests/browser/features/step_definitions/search_steps.rb 
b/tests/browser/features/step_definitions/search_steps.rb
index bb17bbc..db46043 100644
--- a/tests/browser/features/step_definitions/search_steps.rb
+++ b/tests/browser/features/step_definitions/search_steps.rb
@@ -15,9 +15,11 @@
   on(ArticlePage).search_button_element.when_present.click
 end
 
+When(/^I see the search in pages button$/) do
+  expect(on(ArticlePage).search_within_pages_element.when_visible).to 
be_visible
+end
+
 When(/^I click the search in pages button$/) do
-  # Search results may take time to appear
-  sleep 5
   on(ArticlePage).search_within_pages_element.when_present.click
 end
 

-- 
To view, visit https://gerrit.wikimedia.org/r/227367
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9abb8f57adb7d7e197a8a9e73aee0894ab407d57
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to