Browse Source

remove sale and start dates from logs in tests where that should not be important

build rather than create to reduce db interactions
in order that the setup is complete, build the necessary user and organisation with ids
pull/2485/head
Arthur Campbell 2 years ago
parent
commit
a2e7bb08c2
  1. 11
      spec/models/log_spec.rb

11
spec/models/log_spec.rb

@ -7,23 +7,26 @@ RSpec.describe Log, type: :model do
end
describe "#calculate_status" do
let(:organisation) { build(:organisation, id: 1) }
let(:user) { build(:user, id: 1, organisation:) }
it "returns the correct status for a completed sales log" do
complete_sales_log = create(:sales_log, :completed, saledate: Time.zone.local(2023, 12, 12), status: nil)
complete_sales_log = build(:sales_log, :completed, assigned_to: user)
expect(complete_sales_log.calculate_status).to eq "completed"
end
it "returns the correct status for an in progress sales log" do
in_progress_sales_log = create(:sales_log, :in_progress, saledate: Time.zone.local(2023, 12, 12), status: nil)
in_progress_sales_log = build(:sales_log, :in_progress, assigned_to: user)
expect(in_progress_sales_log.calculate_status).to eq "in_progress"
end
it "returns the correct status for a completed lettings log" do
complete_lettings_log = create(:lettings_log, :completed, startdate: Time.zone.local(2023, 12, 12), voiddate: Time.zone.local(2023, 12, 11), mrcdate: Time.zone.local(2023, 12, 11), status: nil)
complete_lettings_log = build(:lettings_log, :completed, assigned_to: user)
expect(complete_lettings_log.calculate_status).to eq "completed"
end
it "returns the correct status for an in progress lettings log" do
in_progress_lettings_log = create(:lettings_log, :in_progress, startdate: Time.zone.local(2023, 12, 12), status: nil)
in_progress_lettings_log = build(:lettings_log, :in_progress, assigned_to: user)
expect(in_progress_lettings_log.calculate_status).to eq "in_progress"
end
end

Loading…
Cancel
Save