From 28773ab4693deed7d0d9c2bbf302109fe806cd6c Mon Sep 17 00:00:00 2001 From: Kat Date: Thu, 10 Aug 2023 11:10:20 +0100 Subject: [PATCH] Adjust the dates in validations --- app/models/validations/setup_validations.rb | 16 ++++++++-------- .../models/validations/setup_validations_spec.rb | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/models/validations/setup_validations.rb b/app/models/validations/setup_validations.rb index f479f2e1e..d3f72a365 100644 --- a/app/models/validations/setup_validations.rb +++ b/app/models/validations/setup_validations.rb @@ -51,12 +51,12 @@ module Validations::SetupValidations return unless record.startdate if owning_organisation.present? - if owning_organisation&.merge_date.present? && owning_organisation.merge_date < record.startdate + if owning_organisation&.merge_date.present? && owning_organisation.merge_date <= record.startdate record.errors.add :owning_organisation_id, I18n.t("validations.setup.owning_organisation.inactive_merged_organisation", owning_organisation: record.owning_organisation.name, owning_organisation_merge_date: record.owning_organisation.merge_date.to_formatted_s(:govuk_date), owning_absorbing_organisation: record.owning_organisation.absorbing_organisation.name) - elsif owning_organisation&.absorbed_organisations.present? && owning_organisation.created_at > record.startdate + elsif owning_organisation&.absorbed_organisations.present? && owning_organisation.created_at.to_date > record.startdate.to_date record.errors.add :owning_organisation_id, I18n.t("validations.setup.owning_organisation.inactive_absorbing_organisation", owning_organisation: record.owning_organisation.name, owning_organisation_available_from: record.owning_organisation.created_at.to_formatted_s(:govuk_date)) @@ -64,12 +64,12 @@ module Validations::SetupValidations end if managing_organisation.present? - if managing_organisation&.merge_date.present? && managing_organisation.merge_date < record.startdate + if managing_organisation&.merge_date.present? && managing_organisation.merge_date <= record.startdate record.errors.add :managing_organisation_id, I18n.t("validations.setup.managing_organisation.inactive_merged_organisation", managing_organisation: record.managing_organisation.name, managing_organisation_merge_date: record.managing_organisation.merge_date.to_formatted_s(:govuk_date), managing_absorbing_organisation: record.managing_organisation.absorbing_organisation.name) - elsif managing_organisation&.absorbed_organisations.present? && managing_organisation.created_at > record.startdate + elsif managing_organisation&.absorbed_organisations.present? && managing_organisation.created_at.to_date > record.startdate.to_date record.errors.add :managing_organisation_id, I18n.t("validations.setup.managing_organisation.inactive_absorbing_organisation", managing_organisation: record.managing_organisation.name, managing_organisation_available_from: record.managing_organisation.created_at.to_formatted_s(:govuk_date)) @@ -208,19 +208,19 @@ private end def merged_owning_organisation_inactive?(record) - record.owning_organisation&.merge_date.present? && record.owning_organisation.merge_date < record.startdate + record.owning_organisation&.merge_date.present? && record.owning_organisation.merge_date <= record.startdate end def merged_managing_organisation_inactive?(record) - record.managing_organisation&.merge_date.present? && record.managing_organisation.merge_date < record.startdate + record.managing_organisation&.merge_date.present? && record.managing_organisation.merge_date <= record.startdate end def absorbing_owning_organisation_inactive?(record) - record.owning_organisation&.absorbed_organisations.present? && record.owning_organisation.created_at > record.startdate + record.owning_organisation&.absorbed_organisations.present? && record.owning_organisation.created_at.to_date > record.startdate.to_date end def absorbing_managing_organisation_inactive?(record) - record.managing_organisation&.absorbed_organisations.present? && record.managing_organisation.created_at > record.startdate + record.managing_organisation&.absorbed_organisations.present? && record.managing_organisation.created_at.to_date > record.startdate.to_date end def organisations_belong_to_same_merge?(organisation_a, organisation_b) diff --git a/spec/models/validations/setup_validations_spec.rb b/spec/models/validations/setup_validations_spec.rb index 8b29e72ff..3def42da4 100644 --- a/spec/models/validations/setup_validations_spec.rb +++ b/spec/models/validations/setup_validations_spec.rb @@ -136,7 +136,7 @@ RSpec.describe Validations::SetupValidations do Timecop.return end - let(:absorbing_organisation) { create(:organisation, created_at: Time.zone.local(2023, 2, 1), name: "Absorbing org") } + let(:absorbing_organisation) { create(:organisation, created_at: Time.zone.local(2023, 2, 1, 4, 5, 6), name: "Absorbing org") } let(:absorbing_organisation_2) { create(:organisation, created_at: Time.zone.local(2023, 2, 1), name: "Absorbing org 2") } let(:merged_organisation) { create(:organisation, name: "Merged org") } let(:merged_organisation_2) { create(:organisation, name: "Merged org 2") } @@ -238,7 +238,7 @@ RSpec.describe Validations::SetupValidations do end it "allows startate after absorbing organisation has been created" do - record.startdate = Time.zone.local(2023, 2, 2) + record.startdate = Time.zone.local(2023, 2, 1) record.managing_organisation_id = absorbing_organisation.id record.owning_organisation_id = absorbing_organisation.id setup_validator.validate_startdate_setup(record) @@ -248,7 +248,7 @@ RSpec.describe Validations::SetupValidations do context "and owning and managing organisations are no longer active during the startdate" do it "does not allow startate after organisation have been merged" do - record.startdate = Time.zone.local(2023, 3, 1) + record.startdate = Time.zone.local(2023, 2, 2) record.managing_organisation_id = merged_organisation.id record.owning_organisation_id = merged_organisation_2.id setup_validator.validate_startdate_setup(record) @@ -703,7 +703,7 @@ RSpec.describe Validations::SetupValidations do end context "when organisations are merged" do - let(:absorbing_organisation) { create(:organisation, created_at: Time.zone.local(2023, 2, 1), name: "Absorbing org") } + let(:absorbing_organisation) { create(:organisation, created_at: Time.zone.local(2023, 2, 1, 4, 5, 6), name: "Absorbing org") } let(:merged_organisation) { create(:organisation, name: "Merged org") } around do |example|