Jakob has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/383558 )

Change subject: Add browser tests for editable lexeme language and lexical 
category.
......................................................................

Add browser tests for editable lexeme language and lexical category.

Change-Id: I613ea8c4955d424f54a151838e8a59d66afd50f3
---
A tests/browser/features/lexeme_header.feature
A tests/browser/features/step_definitions/lexeme_header_steps.rb
M tests/browser/features/support/pages/lexeme_page.rb
3 files changed, 69 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme 
refs/changes/58/383558/1

diff --git a/tests/browser/features/lexeme_header.feature 
b/tests/browser/features/lexeme_header.feature
new file mode 100644
index 0000000..e2d6550
--- /dev/null
+++ b/tests/browser/features/lexeme_header.feature
@@ -0,0 +1,25 @@
+@chrome @firefox @internet_explorer_10 @internet_explorer_11 @local_config 
@test.wikidata.org @wikidata.beta.wmflabs.org
+Feature: Lexeme Page Header
+
+Background:
+  Given I am on a Lexeme page
+    And The copyright warning has been dismissed
+    And Anonymous edit warnings are disabled
+
+  @integration
+  Scenario: Update lexeme language
+    Given I have an item to test
+    When I click the lexeme header edit button
+     And I enter the test item id into the lexeme language field
+     And I click the lexeme header save button
+     And I reload the page
+    Then I should see the item in the lexeme language field
+
+  @integration
+  Scenario: Update lexical category
+    Given I have an item to test
+    When I click the lexeme header edit button
+     And I enter the test item id into the lexical category field
+     And I click the lexeme header save button
+     And I reload the page
+    Then I should see the item in the lexical category field
diff --git a/tests/browser/features/step_definitions/lexeme_header_steps.rb 
b/tests/browser/features/step_definitions/lexeme_header_steps.rb
new file mode 100644
index 0000000..6be6b5a
--- /dev/null
+++ b/tests/browser/features/step_definitions/lexeme_header_steps.rb
@@ -0,0 +1,30 @@
+When(/^I click the lexeme header edit button$/) do
+  on(LexemePage).lexeme_header.edit_element.when_visible.click
+end
+
+When(/^I enter the test item id into the lexeme language field$/) do
+  on(LexemePage).lexeme_header.lexeme_language_input = @item_under_test['id']
+end
+
+When(/^I click the lexeme header save button$/) do
+  on(LexemePage).lexeme_header.save_element.when_visible.click
+  Watir::Wait.until(timeout = 5) do
+    on(LexemePage).lexeme_header.edit_element.visible?
+  end
+end
+
+Then(/^I should see the item in the lexeme language field$/) do
+  expect(
+    on(LexemePage).lexeme_header.lexeme_language_element.text
+  ).to eq @item_under_test['id']
+end
+
+When(/^I enter the test item id into the lexical category field$/) do
+  on(LexemePage).lexeme_header.lexical_category_input = @item_under_test['id']
+end
+
+Then(/^I should see the item in the lexical category field$/) do
+  expect(
+    on(LexemePage).lexeme_header.lexical_category_element.text
+  ).to eq @item_under_test['id']
+end
diff --git a/tests/browser/features/support/pages/lexeme_page.rb 
b/tests/browser/features/support/pages/lexeme_page.rb
index e254a00..41dc4ce 100644
--- a/tests/browser/features/support/pages/lexeme_page.rb
+++ b/tests/browser/features/support/pages/lexeme_page.rb
@@ -108,6 +108,19 @@
 end
 
 
+class LexemeHeader
+  include PageObject
+
+  button(:edit, class: 'lemma-widget_edit')
+  button(:save, class: 'lemma-widget_save')
+
+  text_field(:lexeme_language_input, id: 'lexeme-language')
+  text_field(:lexical_category_input, id: 'lexeme-lexical-category')
+  span(:lexeme_language, class: 'language-lexical-category-widget_language')
+  span(:lexical_category, class: 
'language-lexical-category-widget_lexical-category')
+end
+
+
 class LexemePage
   include PageObject
   include EntityPage
@@ -118,6 +131,7 @@
   span(:senses_header, id: 'senses')
   div(:senses_container, class: 'wikibase-lexeme-senses')
 
+  page_section(:lexeme_header, LexemeHeader, id: 'wb-lexeme-header')
   page_sections(:forms, LexemeForm, class: 'wikibase-lexeme-form')
   page_sections(:senses, Sense, class: 'wikibase-lexeme-sense')
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I613ea8c4955d424f54a151838e8a59d66afd50f3
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

Reply via email to