jenkins-bot has submitted this change and it was merged.

Change subject: Fix talk overlay for new pages
......................................................................


Fix talk overlay for new pages

Also add browser tests
Bug: 64268

Change-Id: I5370051ada84f7b593ba2eef6e6b27495999fab7
---
M javascripts/modules/talk/TalkOverlay.js
A tests/browser/features/step_definitions/talk_steps.rb
M tests/browser/features/support/pages/article_page.rb
A tests/browser/features/talk.feature
M tests/javascripts/modules/talk/test_TalkOverlay.js
5 files changed, 33 insertions(+), 2 deletions(-)

Approvals:
  JGonera: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/javascripts/modules/talk/TalkOverlay.js 
b/javascripts/modules/talk/TalkOverlay.js
index 7006dff..baad8ea 100644
--- a/javascripts/modules/talk/TalkOverlay.js
+++ b/javascripts/modules/talk/TalkOverlay.js
@@ -27,7 +27,7 @@
                                M.pageApi.getPage( options.title ).fail( 
function( resp ) {
                                        // If the API returns the error code 
'missingtitle', that means the
                                        // talk page doesn't exist yet.
-                                       if ( resp.error.code !== undefined && 
resp.error.code === 'missingtitle' ) {
+                                       if ( resp === 'missingtitle' ) {
                                                // Create an empty page for new 
pages
                                                options.page = new Page( { 
title: options.title, sections: [] } );
                                                _super.call( self, options );
diff --git a/tests/browser/features/step_definitions/talk_steps.rb 
b/tests/browser/features/step_definitions/talk_steps.rb
new file mode 100644
index 0000000..99742d7
--- /dev/null
+++ b/tests/browser/features/step_definitions/talk_steps.rb
@@ -0,0 +1,11 @@
+When(/^I click the talk button$/) do
+  on(ArticlePage).talk_element.when_present.click
+end
+
+Then(/^I see the talk overlay$/) do
+  on(ArticlePage).overlay_heading_element.when_present.text.should match "Talk"
+end
+
+Then(/^There is no talk button$/) do
+  on(ArticlePage).talk_element.should_not be_visible
+end
diff --git a/tests/browser/features/support/pages/article_page.rb 
b/tests/browser/features/support/pages/article_page.rb
index 7984add..ba6e6d0 100644
--- a/tests/browser/features/support/pages/article_page.rb
+++ b/tests/browser/features/support/pages/article_page.rb
@@ -81,6 +81,7 @@
 
   # page-actions
   ul(:page_actions, id:"page-actions")
+  a(:talk, css: "#ca-talk a")
   a(:nearby_button, css: "#page-secondary-actions .nearby")
 
   # editor (common)
diff --git a/tests/browser/features/talk.feature 
b/tests/browser/features/talk.feature
new file mode 100644
index 0000000..c2cf978
--- /dev/null
+++ b/tests/browser/features/talk.feature
@@ -0,0 +1,19 @@
+@chrome @en.m.wikipedia.beta.wmflabs.org @firefox @login @test2.m.wikipedia.org
+Feature: Talk
+  Background:
+    Given I am in beta mode
+
+  Scenario: Talk doesn't show on talk pages
+    Given the page "Talk:Selenium talk test page" exists
+    Then There is no talk button
+
+  Scenario: Talk on a page that does exist
+    Given the page "Talk:Selenium talk test page" exists
+      And the page "Selenium talk test page" exists
+    When I click the talk button
+    Then I see the talk overlay
+
+  Scenario: Talk on a page that doesn't exist (bug 64268)
+    Given I am on a page that does not exist
+    When I click the talk button
+    Then I see the talk overlay
diff --git a/tests/javascripts/modules/talk/test_TalkOverlay.js 
b/tests/javascripts/modules/talk/test_TalkOverlay.js
index dd822ec..8a59597 100644
--- a/tests/javascripts/modules/talk/test_TalkOverlay.js
+++ b/tests/javascripts/modules/talk/test_TalkOverlay.js
@@ -5,7 +5,7 @@
 QUnit.module( 'MobileFrontend TalkOverlay', {
        setup: function() {
                this.sandbox.stub( M.pageApi, 'getPage' ).withArgs( 'Talk:No 
exist' ).returns(
-                       $.Deferred().reject( { error: { code: 'missingtitle' } 
} )
+                       $.Deferred().reject( 'missingtitle' )
                );
        }
 } );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I5370051ada84f7b593ba2eef6e6b27495999fab7
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
Gerrit-Reviewer: Awjrichards <[email protected]>
Gerrit-Reviewer: Cmcmahon <[email protected]>
Gerrit-Reviewer: JGonera <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Kaldari <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to