summaryrefslogtreecommitdiff
path: root/qa/qa/page/group/settings
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/page/group/settings')
-rw-r--r--qa/qa/page/group/settings/group_deploy_tokens.rb68
-rw-r--r--qa/qa/page/group/settings/repository.rb23
2 files changed, 91 insertions, 0 deletions
diff --git a/qa/qa/page/group/settings/group_deploy_tokens.rb b/qa/qa/page/group/settings/group_deploy_tokens.rb
new file mode 100644
index 00000000000..65ee3fc72eb
--- /dev/null
+++ b/qa/qa/page/group/settings/group_deploy_tokens.rb
@@ -0,0 +1,68 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Group
+ module Settings
+ class GroupDeployTokens < Page::Base
+ view 'app/views/shared/deploy_tokens/_form.html.haml' do
+ element :deploy_token_name_field
+ element :deploy_token_expires_at_field
+ element :deploy_token_read_repository_checkbox
+ element :deploy_token_read_package_registry_checkbox
+ element :deploy_token_read_registry_checkbox
+ element :deploy_token_write_package_registry_checkbox
+ element :create_deploy_token_button
+ end
+
+ view 'app/views/shared/deploy_tokens/_new_deploy_token.html.haml' do
+ element :created_deploy_token_container
+ element :deploy_token_user_field
+ element :deploy_token_field
+ end
+
+ def fill_token_name(name)
+ fill_element(:deploy_token_name_field, name)
+ end
+
+ def fill_token_expires_at(expires_at)
+ fill_element(:deploy_token_expires_at_field, expires_at.to_s + "\n")
+ end
+
+ def fill_scopes(read_repository: false, read_registry: false, read_package_registry: false, write_package_registry: false )
+ check_element(:deploy_token_read_repository_checkbox) if read_repository
+ check_element(:deploy_token_read_package_registry_checkbox) if read_package_registry
+ check_element(:deploy_token_read_registry_checkbox) if read_registry
+ check_element(:deploy_token_write_package_registry_checkbox) if write_package_registry
+ end
+
+ def add_token
+ click_element(:create_deploy_token_button)
+ end
+
+ def token_username
+ within_new_project_deploy_token do
+ find_element(:deploy_token_user_field).value
+ end
+ end
+
+ def token_password
+ within_new_project_deploy_token do
+ find_element(:deploy_token_field).value
+ end
+ end
+
+ private
+
+ def within_new_project_deploy_token
+ has_element?(:created_deploy_token_container, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME)
+
+ within_element(:created_deploy_token_container) do
+ yield
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/group/settings/repository.rb b/qa/qa/page/group/settings/repository.rb
new file mode 100644
index 00000000000..2cc80ef26c6
--- /dev/null
+++ b/qa/qa/page/group/settings/repository.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Group
+ module Settings
+ class Repository < Page::Base
+ include QA::Page::Settings::Common
+
+ view 'app/views/shared/deploy_tokens/_index.html.haml' do
+ element :deploy_tokens_settings_content
+ end
+
+ def expand_deploy_tokens(&block)
+ expand_content(:deploy_tokens_settings_content) do
+ Settings::GroupDeployTokens.perform(&block)
+ end
+ end
+ end
+ end
+ end
+ end
+end