Files
nairobi/spec/features/admin/valuator_groups_spec.rb
Javi Martín 7b0771106e Remove isolated useless assignments
These variables are not surrounded by other assignments, and so they can
safely be removed without making it harder to read the code vertically.
2019-09-25 12:43:44 +02:00

127 lines
3.5 KiB
Ruby

require "rails_helper"
describe "Valuator groups" do
let(:admin) { create(:administrator).user }
before do
login_as(admin)
end
scenario "Index" do
group1 = create(:valuator_group)
group2 = create(:valuator_group)
3.times { create(:valuator, valuator_group: group1) }
visit admin_valuator_groups_path
within("#valuator_group_#{group1.id}") do
expect(page).to have_content group1.name
expect(page).to have_content 3
end
within("#valuator_group_#{group2.id}") do
expect(page).to have_content group2.name
expect(page).to have_content 0
end
end
scenario "Show" do
group = create(:valuator_group)
valuator1 = create(:valuator, valuator_group: group)
valuator2 = create(:valuator, valuator_group: group)
valuator3 = create(:valuator, valuator_group: nil)
visit admin_valuator_group_path(group)
expect(page).to have_content group.name
within("#valuators") do
expect(page).to have_link(valuator1.email, href: admin_valuator_path(valuator1))
expect(page).to have_link(valuator2.email, href: admin_valuator_path(valuator2))
end
end
scenario "Create" do
visit admin_valuators_path
click_link "Valuator Groups"
click_link "Create valuators group"
fill_in "valuator_group_name", with: "Health"
click_button "Create valuators group"
expect(page).to have_content "Valuator group created successfully"
expect(page).to have_content "There is 1 valuator group"
expect(page).to have_content "Health"
end
scenario "Update" do
create(:valuator_group, name: "Health")
visit admin_valuator_groups_path
click_link "Edit"
fill_in "valuator_group_name", with: "Health and Sports"
click_button "Save valuators group"
expect(page).to have_content "Valuator group updated successfully"
expect(page).to have_content "Health and Sports"
end
scenario "Delete" do
create(:valuator_group)
visit admin_valuator_groups_path
click_link "Delete"
expect(page).to have_content "Valuator group deleted successfully"
expect(page).to have_content "There are no valuator groups"
end
context "Assign valuators to groups" do
scenario "Add a valuator to a group" do
valuator = create(:valuator)
group = create(:valuator_group, name: "Health")
visit edit_admin_valuator_path(valuator)
select "Health", from: "valuator_valuator_group_id"
click_button "Update Valuator"
expect(page).to have_content "Valuator updated successfully"
expect(page).to have_content "Health"
end
scenario "Update a valuator's group" do
valuator = create(:valuator)
group1 = create(:valuator_group, name: "Health")
group2 = create(:valuator_group, name: "Economy")
valuator.update(valuator_group: group1)
visit edit_admin_valuator_path(valuator)
select "Economy", from: "valuator_valuator_group_id"
click_button "Update Valuator"
expect(page).to have_content "Valuator updated successfully"
expect(page).to have_content "Economy"
end
scenario "Remove a valuator from a group" do
valuator = create(:valuator)
group1 = create(:valuator_group, name: "Health")
valuator.update(valuator_group: group1)
visit edit_admin_valuator_path(valuator)
select "", from: "valuator_valuator_group_id"
click_button "Update Valuator"
expect(page).to have_content "Valuator updated successfully"
expect(page).not_to have_content "Health"
end
end
end