diff --git a/app/helpers/collection_time_helper.rb b/app/helpers/collection_time_helper.rb index 05fe44449..b5bf6c63b 100644 --- a/app/helpers/collection_time_helper.rb +++ b/app/helpers/collection_time_helper.rb @@ -55,8 +55,8 @@ module CollectionTimeHelper end 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].compact.max.to_date - end_date = [end_date_override, collection_end_date(date).to_date].compact.min.to_date + start_date = [start_date_override&.to_date, collection_start_date(date).to_date].compact.max.to_date + end_date = [end_date_override&.to_date, collection_end_date(date).to_date].compact.min.to_date return nil if start_date >= end_date diff --git a/spec/helpers/collection_time_helper_spec.rb b/spec/helpers/collection_time_helper_spec.rb index cd1230c85..2efeb8b9d 100644 --- a/spec/helpers/collection_time_helper_spec.rb +++ b/spec/helpers/collection_time_helper_spec.rb @@ -114,7 +114,7 @@ RSpec.describe CollectionTimeHelper do it "returns a different date within the collection year" do result = generate_different_date_within_collection_year(date) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)).inclusive end end @@ -152,7 +152,7 @@ RSpec.describe CollectionTimeHelper do it "returns a different date within the collection year" do result = generate_different_date_within_collection_year(date) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)).inclusive end end @@ -162,7 +162,7 @@ RSpec.describe CollectionTimeHelper do it "returns a different date within the collection year" do result = generate_different_date_within_collection_year(date) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)).inclusive end end @@ -170,7 +170,7 @@ RSpec.describe CollectionTimeHelper do it "ignores the override and returns a different date within the collection year" do result = generate_different_date_within_collection_year(date, start_date_override: Time.zone.local(2023, 12, 31)) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)).inclusive end end @@ -178,7 +178,7 @@ RSpec.describe CollectionTimeHelper do it "ignores the override and returns a different date within the collection year" do result = generate_different_date_within_collection_year(date, end_date_override: Time.zone.local(2025, 12, 1)) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)).inclusive end end @@ -186,7 +186,7 @@ RSpec.describe CollectionTimeHelper do it "returns a different date within the overridden range" do result = generate_different_date_within_collection_year(date, start_date_override: Time.zone.local(2024, 8, 1), end_date_override: Time.zone.local(2024, 9, 1)) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 8, 1), Time.zone.local(2024, 9, 1)) + expect(result).to be_between(Time.zone.local(2024, 8, 1), Time.zone.local(2024, 9, 1)).inclusive end end @@ -194,7 +194,7 @@ RSpec.describe CollectionTimeHelper do it "ignores the start_date_override and returns a different date within the collection year" do result = generate_different_date_within_collection_year(date, start_date_override: Time.zone.local(2023, 12, 31), end_date_override: Time.zone.local(2024, 5, 1)) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2024, 5, 1)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2024, 5, 1)).inclusive end end @@ -202,7 +202,7 @@ RSpec.describe CollectionTimeHelper do it "ignores the end_date_override and returns a different date within the collection year" do result = generate_different_date_within_collection_year(date, start_date_override: Time.zone.local(2025, 3, 1), end_date_override: Time.zone.local(2025, 12, 1)) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2025, 3, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2025, 3, 1), Time.zone.local(2025, 3, 31)).inclusive end end @@ -210,7 +210,7 @@ RSpec.describe CollectionTimeHelper do it "ignores both overrides and returns a different date within the collection year" do result = generate_different_date_within_collection_year(date, start_date_override: Time.zone.local(2023, 12, 31), end_date_override: Time.zone.local(2025, 12, 1)) expect(result).not_to eq(date) - expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)) + expect(result).to be_between(Time.zone.local(2024, 4, 1), Time.zone.local(2025, 3, 31)).inclusive end end end