diff options
Diffstat (limited to 'qa/qa/page/project/settings/services/jira.rb')
-rw-r--r-- | qa/qa/page/project/settings/services/jira.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/qa/qa/page/project/settings/services/jira.rb b/qa/qa/page/project/settings/services/jira.rb new file mode 100644 index 00000000000..9f9331bac94 --- /dev/null +++ b/qa/qa/page/project/settings/services/jira.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Settings + module Services + class Jira < QA::Page::Base + view 'app/views/shared/_field.html.haml' do + element :url_field, 'data: { qa_selector: "#{name.downcase.gsub' # rubocop:disable QA/ElementWithPattern + element :username_field, 'data: { qa_selector: "#{name.downcase.gsub' # rubocop:disable QA/ElementWithPattern + element :password_field, 'data: { qa_selector: "#{name.downcase.gsub' # rubocop:disable QA/ElementWithPattern + element :jira_issue_transition_id_field, 'data: { qa_selector: "#{name.downcase.gsub' # rubocop:disable QA/ElementWithPattern + end + + view 'app/helpers/services_helper.rb' do + element :save_changes_button + end + + def setup_service_with(url:) + QA::Runtime::Logger.info "Setting up JIRA" + + set_jira_server_url(url) + set_username(Runtime::Env.jira_admin_username) + set_password(Runtime::Env.jira_admin_password) + set_transaction_ids('11,21,31,41') + + click_save_changes_button + wait_until(reload: false) do + has_element?(:save_changes_button, wait: 1) ? !find_element(:save_changes_button).disabled? : true + end + end + + private + + def set_jira_server_url(url) + fill_element(:url_field, url) + end + + def set_username(username) + fill_element(:username_field, username) + end + + def set_password(password) + fill_element(:password_field, password) + end + + def set_transaction_ids(transaction_ids) + fill_element(:jira_issue_transition_id_field, transaction_ids) + end + + def click_save_changes_button + click_element :save_changes_button + end + end + end + end + end + end +end |