File: sorting_helpers.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (32 lines) | stat: -rw-r--r-- 853 bytes parent folder | download
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
# frozen_string_literal: true

# These helpers allow you to manipulate with sorting features.
#
# Usage:
#   describe "..." do
#     include Features::SortingHelpers
#     ...
#
#     sort_by("Last updated")
#
module Features
  module SortingHelpers
    def sort_by(value)
      find('.filter-dropdown-container .dropdown').click

      page.within('ul.dropdown-menu.dropdown-menu-right li') do
        click_link(value)
      end
    end

    # pajamas_sort_by is used to sort new pajamas dropdowns. When
    # all of the dropdowns are converted, pajamas_sort_by can be renamed to sort_by
    # https://gitlab.com/groups/gitlab-org/-/epics/7551
    def pajamas_sort_by(value, from: nil)
      raise ArgumentError, 'The :from option must be given' if from.nil?

      click_button from
      find('[role="option"]', text: value).click
    end
  end
end