diff --git a/app/validators/link_or_identifier_validator.rb b/app/validators/link_or_identifier_validator.rb index f487b7a25..e72e3e520 100644 --- a/app/validators/link_or_identifier_validator.rb +++ b/app/validators/link_or_identifier_validator.rb @@ -32,6 +32,11 @@ def will_continue_on_exists_and_link_blank?(record) end def will_continue_on_blank_and_link_exists?(record) - record.licence_transaction_will_continue_on.blank? && record.licence_transaction_continuation_link.present? + # TODO: remove after licences have been imported, currently ~40 licences don't have will + # continue on text but do have a link. Next time these licences are edited, they will need + # the link text to save and publish + unless record.imported + record.licence_transaction_will_continue_on.blank? && record.licence_transaction_continuation_link.present? + end end end diff --git a/spec/validators/link_or_identifier_validator_spec.rb b/spec/validators/link_or_identifier_validator_spec.rb index 817e7266c..0f5825db6 100644 --- a/spec/validators/link_or_identifier_validator_spec.rb +++ b/spec/validators/link_or_identifier_validator_spec.rb @@ -4,16 +4,19 @@ class LicenceTransaction include ActiveModel::API attr_accessor :licence_transaction_continuation_link, :licence_transaction_will_continue_on, - :licence_transaction_licence_identifier + :licence_transaction_licence_identifier, + :imported end RSpec.describe LinkOrIdentifierValidator do + let(:imported) { false } let(:record) do LicenceTransaction.new( { licence_transaction_continuation_link: link, licence_transaction_will_continue_on: will_continue_on, licence_transaction_licence_identifier: identifier, + imported:, }, ) end @@ -42,6 +45,18 @@ class LicenceTransaction end end + context "when a link exists without will continue on text for an imported licence" do + let(:link) { "https://www.gov.uk" } + let(:will_continue_on) { nil } + let(:identifier) { nil } + let(:imported) { true } + + it "validates successfully" do + subject.validate(record) + expect(record.errors[:licence_transaction_continuation_link]).to be_blank + end + end + context "when a link, will continue on and link doesn't exist" do let(:link) { nil } let(:will_continue_on) { nil }