diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index f59ddf377..d4cf5284f 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -46,6 +46,7 @@ class Legislation::Process < ApplicationRecord validates_translation :title, presence: true validates :start_date, presence: true validates :end_date, presence: true + validates :result_publication_date, presence: true, if: :result_publication_enabled? %i[draft debate proposals_phase allegations].each do |phase_name| enabled_attribute = :"#{phase_name.to_s.gsub("_phase", "")}_phase_enabled?" diff --git a/spec/models/legislation/process_spec.rb b/spec/models/legislation/process_spec.rb index 5b62b98f4..511e5aa62 100644 --- a/spec/models/legislation/process_spec.rb +++ b/spec/models/legislation/process_spec.rb @@ -154,6 +154,21 @@ describe Legislation::Process do expect(proposals_disabled).to be_valid expect(allegations_disabled).to be_valid end + + it "is invalid if result publication is enabled but result_publication_date is not present" do + process = build(:legislation_process, result_publication_enabled: true, result_publication_date: "") + + expect(process).not_to be_valid + expect(process.errors.messages[:result_publication_date]).to include("can't be blank") + end + + it "is valid if result publication is enabled and result_publication_date is present" do + process = build(:legislation_process, + result_publication_enabled: true, + result_publication_date: Date.tomorrow) + + expect(process).to be_valid + end end describe "date ranges validations" do diff --git a/spec/system/legislation/summary_spec.rb b/spec/system/legislation/summary_spec.rb index 36c9ffe28..a521d0827 100644 --- a/spec/system/legislation/summary_spec.rb +++ b/spec/system/legislation/summary_spec.rb @@ -22,6 +22,7 @@ describe "Legislation" do scenario "empty process" do process = create(:legislation_process, :empty, result_publication_enabled: true, + result_publication_date: 1.day.ago, end_date: Date.current - 1.day) visit summary_legislation_process_path(process)