diff options
Diffstat (limited to 'qa/qa/page/project/settings/protected_tags.rb')
-rw-r--r-- | qa/qa/page/project/settings/protected_tags.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/qa/qa/page/project/settings/protected_tags.rb b/qa/qa/page/project/settings/protected_tags.rb new file mode 100644 index 00000000000..bf8f349cfd5 --- /dev/null +++ b/qa/qa/page/project/settings/protected_tags.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Settings + class ProtectedTags < Page::Base + include Page::Component::DropdownFilter + + view 'app/views/projects/protected_tags/shared/_dropdown.html.haml' do + element :tags_dropdown + end + + view 'app/views/projects/protected_tags/_create_protected_tag.html.haml' do + element :access_levels_content + element :access_levels_dropdown + end + + view 'app/views/projects/protected_tags/shared/_create_protected_tag.html.haml' do + element :protect_tag_button + end + + def set_tag(tag_name) + click_element :tags_dropdown + filter_and_select(tag_name) + end + + def choose_access_level_role(role) + return if find_element(:access_levels_dropdown).text == role + + click_element :access_levels_dropdown + within_element(:access_levels_content) do + click_on role + end + end + + def click_protect_tag_button + click_element :protect_tag_button + end + end + end + end + end +end + +QA::Page::Project::Settings::ProtectedTags.prepend_if_ee('QA::EE::Page::Project::Settings::ProtectedTags') |