# frozen_string_literal: true ### Notes # Only CSS selector is working, Jquery is not working # e.g.: buttons = all("a.btn:contains(#{text}),input.btn[value=#{text}]") # Change wait time to 0, otherwise waiting default time (30s) to get empty array of elements ### Improvments # Threads? When first is successful, kill others? # NOT WOKRING: first(".btn:nth(#{position-1})", text: text) # Wait time could be problem. Find&First is witing until first element appear, but all is waiting until max wait # time, what is 30s by default. This is why override with 1 second. def check_active_team(team) expect(page).to have_selector '#team-switch button', text: team end def sci_click_on_button(text:, position: 1) raise 'Position cannot be lower than 1' if position < 1 if position == 1 btn = first('.btn', text: text) else btn = all('.btn', text: text, wait: 1)[position-1] end btn.click end def sci_click_on_icon(icon_class:, position: 1, container: nil) raise 'Position cannot be lower than 1' if position < 1 scope = container ? find(container) : page if position == 1 icon = scope.first(".fas.#{icon_class}") else icon = scope.all(".fas.#{icon_class}")[position-1] end icon.click end