Browse Source

Refactor generate_different_date_within_collection_year to use keyword arguments for start and end date overrides in tests

pull/3029/head
Manny Dinssa 1 month ago
parent
commit
c4dbd27956
  1. 2
      app/helpers/collection_time_helper.rb
  2. 8
      spec/helpers/merge_requests_helper_spec.rb
  3. 6
      spec/models/sales_log_spec.rb

2
app/helpers/collection_time_helper.rb

@ -54,7 +54,7 @@ module CollectionTimeHelper
current_collection_start_year - 2 current_collection_start_year - 2
end end
def generate_different_date_within_collection_year(date, start_date_override = nil, end_date_override = nil) def generate_different_date_within_collection_year(date, start_date_override: nil, end_date_override: nil)
start_date = [start_date_override || collection_start_date(date).to_date, collection_start_date(date).to_date].max.to_date start_date = [start_date_override || collection_start_date(date).to_date, collection_start_date(date).to_date].max.to_date
end_date = [end_date_override || collection_end_date(date).to_date, collection_end_date(date).to_date].min.to_date end_date = [end_date_override || collection_end_date(date).to_date, collection_end_date(date).to_date].min.to_date
((start_date..end_date).to_a - [date.to_date]).sample ((start_date..end_date).to_a - [date.to_date]).sample

8
spec/helpers/merge_requests_helper_spec.rb

@ -200,10 +200,10 @@ RSpec.describe MergeRequestsHelper do
context "when merging organisations have logs" do context "when merging organisations have logs" do
before do before do
create(:lettings_log, owning_organisation: organisation) create(:lettings_log, owning_organisation: organisation)
create(:lettings_log, owning_organisation: merging_organisation, startdate: generate_different_date_within_collection_year(Time.zone.yesterday, Time.zone.today - 2.days)) create(:lettings_log, owning_organisation: merging_organisation, startdate: generate_different_date_within_collection_year(Time.zone.yesterday, start_date_override: Time.zone.today - 2.days))
create(:lettings_log, owning_organisation: merging_organisation, startdate: Time.zone.yesterday) create(:lettings_log, owning_organisation: merging_organisation, startdate: Time.zone.yesterday)
create(:sales_log, owning_organisation: organisation) create(:sales_log, owning_organisation: organisation)
create(:sales_log, owning_organisation: merging_organisation, saledate: generate_different_date_within_collection_year(Time.zone.yesterday, Time.zone.today - 2.days)) create(:sales_log, owning_organisation: merging_organisation, saledate: generate_different_date_within_collection_year(Time.zone.yesterday, start_date_override: Time.zone.today - 2.days))
create(:sales_log, owning_organisation: merging_organisation, saledate: Time.zone.yesterday) create(:sales_log, owning_organisation: merging_organisation, saledate: Time.zone.yesterday)
end end
@ -237,8 +237,8 @@ RSpec.describe MergeRequestsHelper do
before do before do
create(:organisation_relationship, parent_organisation: merging_organisation_2, child_organisation: merging_organisation) create(:organisation_relationship, parent_organisation: merging_organisation_2, child_organisation: merging_organisation)
create(:merge_request_organisation, merge_request:, merging_organisation: merging_organisation_2) create(:merge_request_organisation, merge_request:, merging_organisation: merging_organisation_2)
create(:lettings_log, assigned_to: merging_organisation_2.users.first, owning_organisation: merging_organisation_2, managing_organisation: merging_organisation, startdate: generate_different_date_within_collection_year(Time.zone.yesterday, Time.zone.today - 2.days)) create(:lettings_log, assigned_to: merging_organisation_2.users.first, owning_organisation: merging_organisation_2, managing_organisation: merging_organisation, startdate: generate_different_date_within_collection_year(Time.zone.yesterday, start_date_override: Time.zone.today - 2.days))
create(:sales_log, assigned_to: merging_organisation_2.users.first, owning_organisation: merging_organisation_2, managing_organisation: merging_organisation, saledate: generate_different_date_within_collection_year(Time.zone.yesterday, Time.zone.today - 2.days)) create(:sales_log, assigned_to: merging_organisation_2.users.first, owning_organisation: merging_organisation_2, managing_organisation: merging_organisation, saledate: generate_different_date_within_collection_year(Time.zone.yesterday, start_date_override: Time.zone.today - 2.days))
end end
it "returns the correct merging_organisations_lettings_logs_outcomes_text text" do it "returns the correct merging_organisations_lettings_logs_outcomes_text text" do

6
spec/models/sales_log_spec.rb

@ -252,7 +252,7 @@ RSpec.describe SalesLog, type: :model do
end end
context "when there is a log with a different sale date" do context "when there is a log with a different sale date" do
let!(:different_sale_date_log) { create(:sales_log, :duplicate, saledate: generate_different_date_within_collection_year(Time.zone.now, nil, Time.zone.now + 14.days), owning_organisation: organisation) } let!(:different_sale_date_log) { create(:sales_log, :duplicate, saledate: generate_different_date_within_collection_year(Time.zone.now, end_date_override: Time.zone.now + 14.days), owning_organisation: organisation) }
it "does not return a log with a different sale date as a duplicate" do it "does not return a log with a different sale date as a duplicate" do
expect(described_class.duplicate_logs(log)).not_to include(different_sale_date_log) expect(described_class.duplicate_logs(log)).not_to include(different_sale_date_log)
@ -1087,8 +1087,8 @@ RSpec.describe SalesLog, type: :model do
context "when form year changes and LA is no longer active" do context "when form year changes and LA is no longer active" do
let!(:sales_log) { create(:sales_log) } let!(:sales_log) { create(:sales_log) }
let(:date) { generate_different_date_within_collection_year(Time.zone.now, nil, Time.zone.now + 14.days) } let(:date) { generate_different_date_within_collection_year(Time.zone.now, end_date_override: Time.zone.now + 14.days) }
let(:date_after) { generate_different_date_within_collection_year(date, Time.zone.now, Time.zone.now + 14.days) } let(:date_after) { generate_different_date_within_collection_year(date, start_date_override: Time.zone.now, end_date_override: Time.zone.now + 14.days) }
before do before do
LocalAuthority.find_by(code: "E08000003").update!(end_date: date) LocalAuthority.find_by(code: "E08000003").update!(end_date: date)

Loading…
Cancel
Save