summaryrefslogtreecommitdiff
path: root/spec/support/helpers/features/top_nav_spec_helpers.rb
blob: 87ed897ec74e85c70073135fe147ff07ba4a02da (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
# frozen_string_literal: true

# These helpers help you interact within the Source Editor (single-file editor, snippets, etc.).
#
module Spec
  module Support
    module Helpers
      module Features
        module TopNavSpecHelpers
          def open_top_nav
            return unless Feature.enabled?(:combined_menu, default_enabled: :yaml)

            find('.js-top-nav-dropdown-toggle').click
          end

          def within_top_nav
            if Feature.enabled?(:combined_menu, default_enabled: :yaml)
              within('.js-top-nav-dropdown-menu') do
                yield
              end
            else
              within('.navbar-sub-nav') do
                yield
              end
            end
          end

          def open_top_nav_projects
            if Feature.enabled?(:combined_menu, default_enabled: :yaml)
              open_top_nav

              within_top_nav do
                click_button('Projects')
              end
            else
              find('#nav-projects-dropdown').click
            end
          end

          def open_top_nav_groups
            return unless Feature.enabled?(:combined_menu, default_enabled: :yaml)

            open_top_nav

            within_top_nav do
              click_button('Groups')
            end
          end
        end
      end
    end
  end
end