diff options
Diffstat (limited to 'www/wiki/extensions/Translate/tests/browser/features/step_definitions/manage_translator_sandbox_steps.rb')
-rw-r--r-- | www/wiki/extensions/Translate/tests/browser/features/step_definitions/manage_translator_sandbox_steps.rb | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/www/wiki/extensions/Translate/tests/browser/features/step_definitions/manage_translator_sandbox_steps.rb b/www/wiki/extensions/Translate/tests/browser/features/step_definitions/manage_translator_sandbox_steps.rb new file mode 100644 index 00000000..0b3b2af7 --- /dev/null +++ b/www/wiki/extensions/Translate/tests/browser/features/step_definitions/manage_translator_sandbox_steps.rb @@ -0,0 +1,214 @@ +Given(/^I am logged in as a translation administrator$/) do + step 'I am logged in' +end + +Given(/^I am on the Translator sandbox management page with no users in the sandbox$/) do + visit(ManageTranslatorSandboxPage, using_params: { extra: 'integrationtesting=empty' }) +end + +Given(/^I am on the Translator sandbox management page with users in the sandbox$/) do + visit(ManageTranslatorSandboxPage, using_params: { extra: 'integrationtesting=populate' }) +end + +When(/^I search for "(.*)" in the sandboxed users search field$/) do |string| + on(ManageTranslatorSandboxPage) do |page| + page.search = string + page.search_element.send_keys :enter + end +end + +When(/^I click the sandboxed users language filter button$/) do + on(ManageTranslatorSandboxPage).language_selector_button +end + +When(/^I type "(.+)" in the language filter$/) do |text| + on(ManageTranslatorSandboxPage) do |page| + page.language_filter = text + page.language_filter_element.send_keys [:enter, "\n"] + end +end + +When(/^I click the button that clears language selection$/) do + on(ManageTranslatorSandboxPage).clear_language_selector_element.click +end + +When(/^I click the checkbox to select all users$/) do + on(ManageTranslatorSandboxPage).select_all_checkbox_element.click +end + +When(/^I click the "(.+)" button$/) do |label| + on(ManageTranslatorSandboxPage).click_button(label) +end + +When(/^I click on "(.+)" in the first column$/) do |username| + on(ManageTranslatorSandboxPage).request_with_username(username).click +end + +When(/^I click on the checkbox near "(.+)" in the first column$/) do |username| + on(ManageTranslatorSandboxPage).checkbox_for_request_with_username(username).click +end + +When(/^I click on the link that says "\d+ older requests?" at the bottom of the first column$/) do + on(ManageTranslatorSandboxPage).older_requests_indicator_element.click +end + +When(/^I go to the userpage of user "(.*?)"$/) do |username| + visit(UserPage, using_params: { extra: username }) +end + +Then(/^I should see a babel box with languages "(.*?)"$/) do |languages| + on(UserPage).babel_box_has_languages?(languages).should be_true +end + +Then(/^I should not see the older requests link at the bottom of the first column$/) do + on(ManageTranslatorSandboxPage).older_requests_indicator_element.should_not be_visible +end + +Then(/^I should not see any users except "(.+)" selected$/) do |username| + on(ManageTranslatorSandboxPage).only_request_with_username_is_selected?(username).should be_true +end + +Then(/^I should not see any translations done by the user in the second column$/) do + on(ManageTranslatorSandboxPage) do |page| + page.translation_elements.size.should == 0 + page.details_no_translations.size.should == 1 + page.details_no_translations[0].should be_visible + end +end + +Then(/^I should not see any translations done by the users in the second column$/) do + on(ManageTranslatorSandboxPage).translation_elements.length.should == 0 +end + +Then(/^I should see the details of (\d+) sandboxed translations done by the user in the second column$/) do |translations| + on(ManageTranslatorSandboxPage) do |page| + page.translation_elements.size.should == translations.to_i + page.details_no_translations.size.should == 0 + end +end + +Then(/^I should not see user "(.+)" in the first column$/) do |username| + on(ManageTranslatorSandboxPage) do |page| + Watir::Wait.until { page.visible_requests_element.size < 11 } + page.request_with_username(username).should_not exist + end +end + +Then(/^I should see that (\d+) reminders were sent to the user$/) do |count| + on(ManageTranslatorSandboxPage) do |page| + page.reminder_status_element.should be_visible + page.reminder_status.should match(/^Sent #{count} reminders/i) + end +end + +Then(/^I should see that no reminders have been sent to the user$/) do + on(ManageTranslatorSandboxPage).reminder_status.should == '' +end + +Then(/^the direction of the users language filter button is "(.+)"$/) do |dir_value| + on(ManageTranslatorSandboxPage).language_selector_button_element.attribute('dir').should == dir_value +end + +Then(/^the language code of the users language filter button is "(.+)"$/) do |lang_value| + on(ManageTranslatorSandboxPage).language_selector_button_element.attribute('lang').should == lang_value +end + +Then(/^usernames are visible in the first column$/) do + on(ManageTranslatorSandboxPage).visible_users_element.size.should_not == 0 +end + +Then(/^I should see the name of language "(.+)" in the second column$/) do |language| + on(ManageTranslatorSandboxPage).details_autonym.text.should == language +end + +Then(/^I should see that the language of the first translation is "(.+)"$/) do |language| + on(ManageTranslatorSandboxPage).translations_autonyms[0].text.should == language +end + +Then(/^only users whose name begins with "(.*)" are displayed in the first column$/) do |prefix| + on(ManageTranslatorSandboxPage).visible_users_start_with?(prefix).should be_true +end + +Then(/^a user whose name begins with "(.*)" is displayed in the first column$/) do |prefix| + on(ManageTranslatorSandboxPage).the_first_column_has_username_starting_with?(prefix).should be_true +end + +Then(/^no users are displayed in the first column$/) do + on(ManageTranslatorSandboxPage) do |page| + Watir::Wait.until { page.visible_requests_element.size < 11 } + page.visible_users_element.length.should == 0 + end +end + +Then(/^I should see "(.+)" at the top of the first column$/) do |text| + on(ManageTranslatorSandboxPage).request_count.should == text +end + +Then(/^I should see the button that clears language selection$/) do + on(ManageTranslatorSandboxPage).clear_language_selector_element.should be_visible +end + +Then(/^I should not see the button that clears language selection$/) do + on(ManageTranslatorSandboxPage).clear_language_selector_element.should_not be_visible +end + +Then(/^only users who translate to language "(.+)" are displayed in the first column$/) do |language| + on(ManageTranslatorSandboxPage).all_visible_requests_translate_to?(language).should be_true +end + +Then(/^I should see "(.+)" at the bottom of the first column$/) do |text| + on(ManageTranslatorSandboxPage).selected_counter.should == text +end + +Then(/^I should see that the user wrote a comment that says "(.*?)"$/) do |text| + on(ManageTranslatorSandboxPage).signup_comment_text.should == text +end + +Then(/^I should not see that the user wrote a comment$/) do + on(ManageTranslatorSandboxPage).signup_comment_text_element.should_not exist +end + +Then(/^I should see the name of the first user in the first column in the header of the second column$/) do + on(ManageTranslatorSandboxPage) do |page| + page.details_header.text.should == page.username_in_request(0) + end +end + +Then(/^I should see "(.+)" in the header of the second column$/) do |text| + on(ManageTranslatorSandboxPage).details_header.text.should == text +end + +Then(/^I should see the userlist in the first column sorted by the number of translations and the most recent within them$/) do + on(ManageTranslatorSandboxPage).requests_are_sorted_by_translation_count_and_date?.should be_true +end + +Then(/^I should see the checkbox next to the request from "(.+)" checked$/) do |user| + on(ManageTranslatorSandboxPage).checkbox_for_request_with_username(user).should be_checked +end + +Then(/^I should see the checkbox next to the request from "(.+)" unchecked$/) do |user| + on(ManageTranslatorSandboxPage).checkbox_for_request_with_username(user).should_not be_checked +end + +Then(/^I should see the checkbox next to the request from "(.+)" disabled$/) do |user| + on(ManageTranslatorSandboxPage).checkbox_for_request_with_username(user).should be_disabled +end + +Then(/^I should see the checkbox next to the request from "(.+)" enabled$/) do |user| + on(ManageTranslatorSandboxPage).checkbox_for_request_with_username(user).should_not be_disabled +end + +Then(/^I should see the "(.+)" button displayed in the second column$/) do |label| + on(ManageTranslatorSandboxPage).details_button(label).should be_visible +end + +Then(/^I should see "(.+)" in the older requests link at the bottom of the first column$/) do |text| + on(ManageTranslatorSandboxPage) do |page| + page.older_requests_indicator_element.should be_visible + page.older_requests_indicator_element.text.should == text + end +end + +Then(/^I should see that the user's translations are sorted by the language code$/) do + on(ManageTranslatorSandboxPage).translations_languages_are_sorted?.should be_true +end |