67 lines
2.0 KiB
Ruby
67 lines
2.0 KiB
Ruby
require 'rails_helper'
|
|
|
|
feature 'Officer Assignments' do
|
|
|
|
background do
|
|
admin = create(:administrator)
|
|
login_as(admin.user)
|
|
end
|
|
|
|
scenario "Index" do
|
|
poll = create(:poll)
|
|
booth = create(:poll_booth)
|
|
|
|
officer1 = create(:poll_officer)
|
|
officer2 = create(:poll_officer)
|
|
officer3 = create(:poll_officer)
|
|
|
|
booth_assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
|
|
officer_assignment = create(:poll_officer_assignment, booth_assignment: booth_assignment, officer: officer1)
|
|
|
|
booth_assignment_2 = create(:poll_booth_assignment, poll: poll)
|
|
officer_assignment_2 = create(:poll_officer_assignment, booth_assignment: booth_assignment_2, officer: officer2)
|
|
|
|
visit admin_poll_path(poll)
|
|
|
|
click_link 'Officers (2)'
|
|
|
|
within('#officer_assignments') do
|
|
expect(page).to have_content officer1.name
|
|
expect(page).to have_content officer2.name
|
|
expect(page).not_to have_content officer3.name
|
|
end
|
|
end
|
|
|
|
scenario "Search", :js do
|
|
poll = create(:poll)
|
|
booth = create(:poll_booth)
|
|
|
|
user1 = create(:user, username: "John Snow")
|
|
user2 = create(:user, username: "John Silver")
|
|
user3 = create(:user, username: "John Edwards")
|
|
|
|
officer1 = create(:poll_officer, user: user1)
|
|
officer2 = create(:poll_officer, user: user2)
|
|
officer3 = create(:poll_officer, user: user3)
|
|
|
|
booth_assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
|
|
officer_assignment = create(:poll_officer_assignment, booth_assignment: booth_assignment, officer: officer1)
|
|
|
|
booth_assignment_2 = create(:poll_booth_assignment, poll: poll)
|
|
officer_assignment_2 = create(:poll_officer_assignment, booth_assignment: booth_assignment_2, officer: officer2)
|
|
|
|
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 officer1.name
|
|
expect(page).to have_content officer2.name
|
|
expect(page).not_to have_content officer3.name
|
|
end
|
|
end
|
|
|
|
end |