scinote-web/features/step_definitions/team_steps.rb

50 lines
1.5 KiB
Ruby
Raw Normal View History

2019-12-17 18:21:49 +08:00
# frozen_string_literal: true
Given(/^I'm on "([^"]*)" team settings page$/) do |team_name|
2019-12-17 18:21:49 +08:00
team = Team.find_by(name: team_name)
2018-01-31 19:05:45 +08:00
visit team_path(team)
end
Then(/^I click on "(.+)" action button within Team members table$/) do |email|
mail_td = find('td', text: /\A#{email}\z/)
parent = mail_td.first(:xpath, './/..')
2018-01-31 19:05:45 +08:00
parent.find('[type="button"]').click
end
Then(/^I click "(.+)" link within "(.+)" actions dropdown within Team members table$/) do |role, email|
mail_td = find('td', text: /\A#{email}\z/)
parent = mail_td.first(:xpath, './/..')
within(parent) do
click_link role
end
end
Then(/^I should see "(.+)" in Role column of "(.+)" within Team members table$/) do |role, email|
2017-11-06 21:26:01 +08:00
wait_for_ajax
2017-11-07 18:29:37 +08:00
sleep 0.3
mail_td = find('td', text: /\A#{email}\z/)
parent = mail_td.first(:xpath, './/..')
expect(parent).to have_css('td', text: /\A#{role}\z/)
end
Then(/^I should not see "([^"]*)" in Team members table$/) do |email|
expect(page).to have_no_css('td', text: /\A#{email}\z/)
end
2018-01-31 19:05:45 +08:00
Then(/^I click on team title$/) do
find('#team-name').click
end
2019-12-17 18:21:49 +08:00
Given('the following users are registered with teams:') do |table|
table.hashes.each do |row|
team = Team.find_by(name: row[:team])
team ||= FactoryBot.create(:team, name: row[:team])
user = FactoryBot.create(:user, row.slice('name', 'email'))
FactoryBot.create(:user_team, user: user, team: team, role: row[:role])
end
end
Given('team settings page') do
visit teams_path
end