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