summaryrefslogtreecommitdiff
path: root/qa/qa/page/merge_request/new.rb
blob: a1d9162109081b8cd389817abeef78ef2fad8830 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# frozen_string_literal: true

module QA
  module Page
    module MergeRequest
      class New < Page::Issuable::New
        view 'app/views/shared/issuable/_form.html.haml' do
          element :issuable_create_button, required: true
        end

        view 'app/views/projects/merge_requests/creations/_new_compare.html.haml' do
          element :compare_branches_button
        end

        view 'app/assets/javascripts/merge_requests/components/compare_dropdown.vue' do
          element :source_branch_dropdown, ':data-qa-selector="qaSelector"' # rubocop:disable QA/ElementWithPattern
        end

        view 'app/views/projects/merge_requests/_page.html.haml' do
          element :diffs_tab
        end

        view 'app/assets/javascripts/diffs/components/diff_file_header.vue' do
          element :file_name_content
        end

        def has_secure_description?(scanner_name)
          scanner_url_name = scanner_name.downcase.tr('_', '-')
          "Configure #{scanner_name} in `.gitlab-ci.yml` using the GitLab managed template. You can " \
            "[add variable overrides](https://docs.gitlab.com/ee/user/application_security/#{scanner_url_name}/#customizing-the-#{scanner_url_name}-settings) " \
            "to customize #{scanner_name} settings."
        end

        def click_compare_branches_and_continue
          click_element(:compare_branches_button)
        end

        def create_merge_request
          click_element(:issuable_create_button, Page::MergeRequest::Show)
        end

        def click_diffs_tab
          click_element(:diffs_tab)
        end

        def has_file?(file_name)
          has_element?(:file_name_content, text: file_name)
        end

        def select_source_branch(branch)
          click_element(:source_branch_dropdown)
          search_and_select(branch)
        end
      end
    end
  end
end

QA::Page::MergeRequest::New.prepend_mod_with('Page::MergeRequest::New', namespace: QA)