spec/models/poll/booth_assignment_spec.rb
require "rails_helper"
describe Poll::BoothAssignment do
let(:poll) { create(:poll) }
let(:booth) { create(:poll_booth) }
let(:booth1) { create(:poll_booth) }
it "checks if there are shifts" do
assignment_with_shifts = create(:poll_booth_assignment, poll: poll, booth: booth)
assignment_without_shifts = create(:poll_booth_assignment, poll: poll, booth: booth1)
officer = create(:poll_officer)
create(:poll_officer_assignment, officer: officer, booth_assignment: assignment_with_shifts)
create(:poll_shift, booth: booth, officer: officer)
expect(assignment_with_shifts.shifts?).to be true
expect(assignment_without_shifts.shifts?).to be false
end
it "deletes shifts associated to booth assignments" do
assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
officer = create(:poll_officer)
create(:poll_officer_assignment, officer: officer, booth_assignment: assignment)
create(:poll_shift, booth: booth, officer: officer)
assignment.destroy!
expect(Poll::Shift.count).to eq 0
end
end