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 end
describe "#calculate_status" do 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 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" expect(complete_sales_log.calculate_status).to eq "completed"
end end
it "returns the correct status for an in progress sales log" do 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" expect(in_progress_sales_log.calculate_status).to eq "in_progress"
end end
it "returns the correct status for a completed lettings log" do 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" expect(complete_lettings_log.calculate_status).to eq "completed"
end end
it "returns the correct status for an in progress lettings log" do 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" expect(in_progress_lettings_log.calculate_status).to eq "in_progress"
end end
end end

Loading…
Cancel
Save