Browse Source

Add major repairs dates validation

pull/115/head
Kat 4 years ago
parent
commit
5ae1d22f66
  1. 9
      app/validations/date_validations.rb
  2. 24
      spec/fixtures/complete_case_log.json
  3. 41
      spec/models/case_log_spec.rb

9
app/validations/date_validations.rb

@ -1,6 +1,15 @@
module DateValidations
def validate_property_major_repairs(record)
date_valid?("mrcdate", record)
if record["startdate"].present? && record["mrcdate"].present? && record["startdate"] < record["mrcdate"]
record.errors.add :mrcdate, "Major repairs date must be before the tenancy start date"
end
if (record["rsnvac"] == "First let of newbuild property" ||
record["rsnvac"] == "First let of conversion/rehabilitation/acquired property" ||
record["rsnvac"] == "First let of leased property") &&
record["mrcdate"].present?
record.errors.add :mrcdate, "Major repairs date must be before the tenancy start date"
end
end
def validate_startdate(record)

24
spec/fixtures/complete_case_log.json vendored

@ -65,11 +65,11 @@
"property_building_type": "dummy",
"beds": 3,
"property_void_date": "03/11/2019",
"majorrepairs": "No",
"mrcdate": "05/05/2020",
"mrcday": 5,
"mrcmonth": 5,
"mrcyear": 2020,
"majorrepairs": "Yes",
"mrcdate": "12/02/2019",
"mrcday": 12,
"mrcmonth": 2,
"mrcyear": 2019,
"offered": 2,
"wchair": "Yes",
"net_income_known": "Yes",
@ -120,17 +120,17 @@
"rp_hardship": "No",
"rp_dontknow": "No",
"discarded_at": "05/05/2020",
"override_net_income_validation": "",
"gdpr_acceptance": "",
"override_net_income_validation": "",
"gdpr_acceptance": "",
"gdpr_declined": "",
"property_owner_organisation": "",
"property_owner_organisation": "",
"property_manager_organisation": "",
"sale_or_letting": "",
"rent_type": "",
"sale_or_letting": "",
"rent_type": "",
"intermediate_rent_product_name": "",
"needs_type": "",
"needs_type": "",
"sale_completion_date": "01/01/2020",
"purchaser_code": "",
"purchaser_code": "",
"propcode": "123",
"postcode": "a1",
"postcod2": "w3",

41
spec/models/case_log_spec.rb

@ -410,6 +410,47 @@ RSpec.describe Form, type: :model do
end
end
end
context "major repairs date" do
it "cannot be later than the tenancy start date" do
expect {
CaseLog.create!(
mrcdate: Date.new(2020, 10, 10),
startdate: Date.new(2020, 10, 9),
)
}.to raise_error(ActiveRecord::RecordInvalid)
expect {
CaseLog.create!(
mrcdate: Date.new(2020, 10, 9),
startdate: Date.new(2020, 10, 10),
)
}.not_to raise_error
end
it "must not be completed if reason for vacancy is first let" do
expect {
CaseLog.create!(
mrcdate: Date.new(2020, 10, 10),
rsnvac: "First let of newbuild property",
)
}.to raise_error(ActiveRecord::RecordInvalid)
expect {
CaseLog.create!(
mrcdate: Date.new(2020, 10, 10),
rsnvac: "First let of conversion/rehabilitation/acquired property",
)
}.to raise_error(ActiveRecord::RecordInvalid)
expect {
CaseLog.create!(
mrcdate: Date.new(2020, 10, 10),
rsnvac: "First let of leased property",
)
}.to raise_error(ActiveRecord::RecordInvalid)
end
end
end
describe "status" do

Loading…
Cancel
Save