From 5bcc70eda818091a3697b38a58e507eb33fbf23a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 20 May 2021 11:33:54 +0200 Subject: [PATCH] Fix proposals phase end date validation So now it uses the same rules as the other phases. --- app/models/legislation/process.rb | 1 + spec/models/legislation/process_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index abf8875a7..85bb5fde5 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -52,6 +52,7 @@ class Legislation::Process < ApplicationRecord validates :draft_end_date, presence: true, if: :draft_start_date? validates :allegations_start_date, presence: true, if: :allegations_end_date? validates :allegations_end_date, presence: true, if: :allegations_start_date? + validates :proposals_phase_start_date, presence: true, if: :proposals_phase_end_date? validates :proposals_phase_end_date, presence: true, if: :proposals_phase_start_date? validate :valid_date_ranges validates :background_color, format: { allow_blank: true, with: CSS_HEX_COLOR } diff --git a/spec/models/legislation/process_spec.rb b/spec/models/legislation/process_spec.rb index b6cebbf6c..59962e0fa 100644 --- a/spec/models/legislation/process_spec.rb +++ b/spec/models/legislation/process_spec.rb @@ -53,6 +53,14 @@ describe Legislation::Process do expect(process.errors.messages[:proposals_phase_end_date]).to include("can't be blank") end + it "is invalid if proposals_phase_end_date is present but proposals_phase_start_date is not" do + process = build(:legislation_process, proposals_phase_start_date: nil, + proposals_phase_end_date: Date.current) + + expect(process).to be_invalid + expect(process.errors.messages[:proposals_phase_start_date]).to include("can't be blank") + end + it "is invalid if allegations_start_date is present but allegations_end_date is not" do process = build(:legislation_process, allegations_start_date: Date.current, allegations_end_date: "")