1# frozen_string_literal: true 2 3module Spec 4 module Support 5 module Helpers 6 module Features 7 module MembersHelpers 8 def members_table 9 page.find('[data-testid="members-table"]') 10 end 11 12 def all_rows 13 page.within(members_table) do 14 page.all('tbody > tr') 15 end 16 end 17 18 def first_row 19 all_rows[0] 20 end 21 22 def second_row 23 all_rows[1] 24 end 25 26 def third_row 27 all_rows[2] 28 end 29 30 def find_row(name) 31 page.within(members_table) do 32 page.find('tbody > tr', text: name) 33 end 34 end 35 36 def find_member_row(user) 37 find_row(user.name) 38 end 39 40 def find_username_row(user) 41 find_row(user.username) 42 end 43 44 def find_invited_member_row(email) 45 find_row(email) 46 end 47 48 def find_group_row(group) 49 find_row(group.full_name) 50 end 51 52 def fill_in_filtered_search(label, with:) 53 page.within '[data-testid="members-filtered-search-bar"]' do 54 find_field(label).click 55 find('input').native.send_keys(with) 56 click_button 'Search' 57 end 58 end 59 end 60 end 61 end 62 end 63end 64