From c4dbd27956797fcc5e1c918a6161a00075ce9e32 Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:33:36 +0100 Subject: [PATCH] Refactor generate_different_date_within_collection_year to use keyword arguments for start and end date overrides in tests --- app/helpers/collection_time_helper.rb | 2 +- spec/helpers/merge_requests_helper_spec.rb | 8 ++++---- spec/models/sales_log_spec.rb | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/helpers/collection_time_helper.rb b/app/helpers/collection_time_helper.rb index e12083076..116c930aa 100644 --- a/app/helpers/collection_time_helper.rb +++ b/app/helpers/collection_time_helper.rb @@ -54,7 +54,7 @@ module CollectionTimeHelper current_collection_start_year - 2 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 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 diff --git a/spec/helpers/merge_requests_helper_spec.rb b/spec/helpers/merge_requests_helper_spec.rb index 8b36a2f70..5f8bed34a 100644 --- a/spec/helpers/merge_requests_helper_spec.rb +++ b/spec/helpers/merge_requests_helper_spec.rb @@ -200,10 +200,10 @@ RSpec.describe MergeRequestsHelper do context "when merging organisations have logs" do before do 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(: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) end @@ -237,8 +237,8 @@ RSpec.describe MergeRequestsHelper do before do create(:organisation_relationship, parent_organisation: merging_organisation_2, child_organisation: merging_organisation) 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(: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(: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, start_date_override: Time.zone.today - 2.days)) end it "returns the correct merging_organisations_lettings_logs_outcomes_text text" do diff --git a/spec/models/sales_log_spec.rb b/spec/models/sales_log_spec.rb index 430d2ec96..b72e056e5 100644 --- a/spec/models/sales_log_spec.rb +++ b/spec/models/sales_log_spec.rb @@ -252,7 +252,7 @@ RSpec.describe SalesLog, type: :model do end 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 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 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_after) { generate_different_date_within_collection_year(date, Time.zone.now, 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, start_date_override: Time.zone.now, end_date_override: Time.zone.now + 14.days) } before do LocalAuthority.find_by(code: "E08000003").update!(end_date: date)