Files
nairobi/spec/features/admin/poll/officer_assignments_spec.rb
Javi Martín b431273869 Simplify creating officer assignments in specs
Note we usually cannot make it simple because officer assignments are
usually assigned to both a poll and a booth, and on a certain date.
However, in the few cases where the booth nor the date don't matter, we
can make the code a bit easier to read.
2019-09-30 14:10:45 +02:00

50 lines
1.1 KiB
Ruby

require "rails_helper"
describe "Officer Assignments" do
before do
admin = create(:administrator)
login_as(admin.user)
end
scenario "Index" do
poll = create(:poll)
create(:poll_officer, name: "Bubbles", polls: [poll])
create(:poll_officer, name: "Blossom", polls: [poll])
create(:poll_officer, name: "Buttercup")
visit admin_poll_path(poll)
click_link "Officers (2)"
within("#officer_assignments") do
expect(page).to have_content "Bubbles"
expect(page).to have_content "Blossom"
expect(page).not_to have_content "Buttercup"
end
end
scenario "Search", :js do
poll = create(:poll)
create(:poll_officer, name: "John Snow", polls: [poll])
create(:poll_officer, name: "John Silver", polls: [poll])
create(:poll_officer, name: "John Edwards")
visit admin_poll_path(poll)
click_link "Officers (2)"
fill_in "search-officers", with: "John"
click_button "Search"
within("#search-officers-results") do
expect(page).to have_content "John Snow"
expect(page).to have_content "John Silver"
expect(page).not_to have_content "John Edwards"
end
end
end