Jakob has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/353972 )
Change subject: Add browser test for adding a grammatical features.
......................................................................
Add browser test for adding a grammatical features.
This adds a test for entering and selecting an item in the grammatical
feature widget and checks whether the selected item is displayed as a
grammatical feature afterwards.
Additional dependencies to the Wikibase browser tests had to be added in
order to make use of item creation steps.
Bug: T163972
Change-Id: Iee8b62103587ab16e55eb10a5982e3b1b978d95b
---
M tests/browser/features/forms.feature
M tests/browser/features/step_definitions/forms_steps.rb
M tests/browser/features/step_definitions/lexeme_steps.rb
M tests/browser/features/support/env.rb
M tests/browser/features/support/pages/lexeme_page.rb
5 files changed, 45 insertions(+), 10 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme
refs/changes/72/353972/1
diff --git a/tests/browser/features/forms.feature
b/tests/browser/features/forms.feature
index 16659fc..eae28b8 100644
--- a/tests/browser/features/forms.feature
+++ b/tests/browser/features/forms.feature
@@ -17,6 +17,15 @@
Scenario: View Forms grammatical features
And for each Form there is a grammatical feature list
+ Scenario: Add grammatical feature
+ Given I have a Lexeme with a Form
+ And I am on the page of the Lexeme to test
+ And I have an item with label "Plural" and description "Plural"
+ When I click on first Form's edit button
+ And I select "Plural" as the grammatical feature
+ And I save the first Form
+ Then I should see "Plural" in the list of grammatical features
+
@integration
Scenario: Add Form
When I am on a Lexeme page
diff --git a/tests/browser/features/step_definitions/forms_steps.rb
b/tests/browser/features/step_definitions/forms_steps.rb
index 243bd74..bf9dda3 100644
--- a/tests/browser/features/step_definitions/forms_steps.rb
+++ b/tests/browser/features/step_definitions/forms_steps.rb
@@ -46,7 +46,7 @@
end
When(/^I save the new Form$/) do
- on(LexemePage).lexeme_form_save_element.when_visible.click
+ on(LexemePage).lexeme_new_form_save_element.when_visible.click
end
Then(/^"(.+)" should be displayed as a representation in the list of Forms$/)
do |representation|
@@ -55,3 +55,29 @@
expect(has_lexeme_form).to be true
end
+
+Given(/^I have a Lexeme with a Form$/) do
+ step 'I have a Lexeme to test' # TODO: implement once Forms are storable
+end
+
+When(/^I click on first Form's edit button$/) do
+ on(LexemePage).lexeme_first_form_edit_element.when_visible.click
+end
+
+When(/^I select "(.*?)" as the grammatical feature$/) do |feature|
+ on(LexemePage) do |page|
+ page.grammatical_feature_input_element.send_keys(feature)
+ page.grammatical_feature_selection_first_option_element.when_visible.click
+ end
+end
+
+When(/^I save the first Form$/) do
+ on(LexemePage).lexeme_first_form_save_element.when_visible.click
+end
+
+Then(/^I should see "(.*?)" in the list of grammatical features$/) do |feature|
+ Watir::Wait.until(timeout = 5) do
+ on(LexemePage).first_form_grammatical_features_element.text.include?
feature
+ end
+
+end
diff --git a/tests/browser/features/step_definitions/lexeme_steps.rb
b/tests/browser/features/step_definitions/lexeme_steps.rb
index 4b0a22d..de6d10b 100644
--- a/tests/browser/features/step_definitions/lexeme_steps.rb
+++ b/tests/browser/features/step_definitions/lexeme_steps.rb
@@ -1,11 +1,3 @@
-Given(/^Anonymous edit warnings are disabled$/) do
- on(LexemePage).set_noanonymouseditwarning_cookie
-end
-
-Given(/^The copyright warning has been dismissed$/) do
- on(LexemePage).set_copyright_ack_cookie
-end
-
Given(/^I am on a Lexeme page$/) do
step 'I have a Lexeme to test'
step 'I am on the page of the Lexeme to test'
diff --git a/tests/browser/features/support/env.rb
b/tests/browser/features/support/env.rb
index dd3513c..f66d030 100644
--- a/tests/browser/features/support/env.rb
+++ b/tests/browser/features/support/env.rb
@@ -11,7 +11,10 @@
.gsub(%r{index.php/?$}, 'api.php')
end)
ENV['LEXEME_NAMESPACE'] = 'Lexeme:'
+ENV['ITEM_NAMESPACE'] = 'Item:'
ENV['LANGUAGE_CODE'] = lenv.lookup(:language_code, default: -> { 'en' })
require_all File.dirname(__FILE__) +
'/../../../../../Wikibase/tests/browser/features/support/modules'
+require_all File.dirname(__FILE__) +
'/../../../../../Wikibase/tests/browser/features/step_definitions'
require_all File.dirname(__FILE__) + '/pages'
+require File.dirname(__FILE__) +
'/../../../../../Wikibase/tests/browser/features/support/pages/item_page'
diff --git a/tests/browser/features/support/pages/lexeme_page.rb
b/tests/browser/features/support/pages/lexeme_page.rb
index c9e4607..3321081 100644
--- a/tests/browser/features/support/pages/lexeme_page.rb
+++ b/tests/browser/features/support/pages/lexeme_page.rb
@@ -23,7 +23,12 @@
a(:add_lexeme_form, css: '.wikibase-lexeme-forms-section >
.wikibase-addtoolbar-container a')
textarea(:lexeme_form_input_field, css:
'.wikibase-lexemeformview:last-of-type .wikibase-lexeme-form-text > textarea')
spans(:lexeme_form_representation_text, css:
'.wikibase-lexeme-form-representation .wikibase-lexeme-form-text')
- a(:lexeme_form_save, css: '.wikibase-lexemeformview:last-of-type
.wikibase-toolbar-button-save > a')
+ a(:lexeme_new_form_save, css: '.wikibase-lexemeformview:last-of-type
.wikibase-toolbar-button-save > a')
+ a(:lexeme_first_form_save, css: '.wikibase-lexeme-form:first-of-type
.wikibase-toolbar-button-save > a')
+ a(:lexeme_first_form_edit, css: '.wikibase-lexeme-form:first-of-type
.wikibase-toolbar-button-edit > a')
+ text_field(:grammatical_feature_input, css:
'.wikibase-lexeme-form-grammatical-features-values input')
+ a(:grammatical_feature_selection_first_option, css:
'.wikibase-lexeme-form-grammatical-features-values
.oo-ui-menuOptionWidget:first-of-type a')
+ div(:first_form_grammatical_features, css:
'.wikibase-lexeme-form:first-of-type
.wikibase-lexeme-form-grammatical-features-values')
def create_lexeme(lexeme_data)
wb_api = MediawikiApi::Wikidata::WikidataClient.new URL.repo_api
--
To view, visit https://gerrit.wikimedia.org/r/353972
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iee8b62103587ab16e55eb10a5982e3b1b978d95b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseLexeme
Gerrit-Branch: master
Gerrit-Owner: Jakob <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits