diff --git a/app/models/case_log.rb b/app/models/case_log.rb index 0261f7d6a..7a9bf6344 100644 --- a/app/models/case_log.rb +++ b/app/models/case_log.rb @@ -252,6 +252,7 @@ private self.tcharge = brent.to_f + scharge.to_f + pscharge.to_f + supcharg.to_f self.has_benefits = get_has_benefits self.nocharge = household_charge == "Yes" ? "No" : "Yes" + self.layear = "Less than 1 year" if renewal == "Yes" end def process_postcode_changes! diff --git a/spec/models/case_log_spec.rb b/spec/models/case_log_spec.rb index 8b704cf0e..baf63b4da 100644 --- a/spec/models/case_log_spec.rb +++ b/spec/models/case_log_spec.rb @@ -1153,6 +1153,22 @@ RSpec.describe CaseLog do record_from_db = ActiveRecord::Base.connection.execute("select has_benefits from case_logs where id=#{case_log.id}").to_a[0] expect(record_from_db["has_benefits"]).to eq("Yes") end + + context "when it is a renewal" do + let!(:case_log) do + described_class.create({ + managing_organisation: organisation, + owning_organisation: organisation, + renewal: "Yes", + }) + end + + it "correctly derives and saves layear" do + record_from_db = ActiveRecord::Base.connection.execute("select layear from case_logs where id=#{case_log.id}").to_a[0] + expect(record_from_db["layear"]).to eq(2) + expect(case_log["layear"]).to eq("Less than 1 year") + end + end end describe "resetting invalidated fields" do