Files
nairobi/spec/models/poll/total_result_spec.rb

71 lines
2.0 KiB
Ruby

require 'rails_helper'
describe Poll::TotalResult do
describe "logging changes" do
it "should update amount_log if amount changes" do
total_result = create(:poll_total_result, amount: 33)
expect(total_result.amount_log).to eq("")
total_result.amount = 33
total_result.save
total_result.amount = 32
total_result.save
total_result.amount = 34
total_result.save
expect(total_result.amount_log).to eq(":33:32")
end
it "should update officer_assignment_id_log if amount changes" do
total_result = create(:poll_total_result, amount: 33)
expect(total_result.amount_log).to eq("")
expect(total_result.officer_assignment_id_log).to eq("")
total_result.amount = 33
total_result.officer_assignment = create(:poll_officer_assignment, id: 101)
total_result.save
total_result.amount = 32
total_result.officer_assignment = create(:poll_officer_assignment, id: 102)
total_result.save
total_result.amount = 34
total_result.officer_assignment = create(:poll_officer_assignment, id: 103)
total_result.save
expect(total_result.amount_log).to eq(":33:32")
expect(total_result.officer_assignment_id_log).to eq(":101:102")
end
it "should update author_id if amount changes" do
total_result = create(:poll_total_result, amount: 33)
expect(total_result.amount_log).to eq("")
expect(total_result.author_id_log).to eq("")
author_A = create(:poll_officer).user
author_B = create(:poll_officer).user
author_C = create(:poll_officer).user
total_result.amount = 33
total_result.author_id = author_A.id
total_result.save!
total_result.amount = 32
total_result.author_id = author_B.id
total_result.save!
total_result.amount = 34
total_result.author_id = author_C.id
total_result.save!
expect(total_result.amount_log).to eq(":33:32")
expect(total_result.author_id_log).to eq(":#{author_A.id}:#{author_B.id}")
end
end
end