From fe68f27d07faa109d360532e1056c099d0c0248b Mon Sep 17 00:00:00 2001 From: Robert Sullivan Date: Fri, 23 Feb 2024 16:42:50 +0000 Subject: [PATCH] CLDC-2049: Use year instead of years when only one is displayed --- .../questions/living_before_purchase_years.rb | 5 +++- .../living_before_purchase_years_spec.rb | 25 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/app/models/form/sales/questions/living_before_purchase_years.rb b/app/models/form/sales/questions/living_before_purchase_years.rb index ec9cd9d52..576be9f42 100644 --- a/app/models/form/sales/questions/living_before_purchase_years.rb +++ b/app/models/form/sales/questions/living_before_purchase_years.rb @@ -10,7 +10,6 @@ class Form::Sales::Questions::LivingBeforePurchaseYears < ::Form::Question @max = 80 @step = 1 @width = 5 - @suffix = " years" @ownershipsch = ownershipsch @question_number = question_number end @@ -39,4 +38,8 @@ class Form::Sales::Questions::LivingBeforePurchaseYears < ::Form::Question 99 end end + + def suffix_label(log) + log[id] == 1 ? " year" : " years" + end end diff --git a/spec/models/form/sales/questions/living_before_purchase_years_spec.rb b/spec/models/form/sales/questions/living_before_purchase_years_spec.rb index 52ea05a4f..9e0c2359a 100644 --- a/spec/models/form/sales/questions/living_before_purchase_years_spec.rb +++ b/spec/models/form/sales/questions/living_before_purchase_years_spec.rb @@ -5,6 +5,7 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model d let(:question_id) { nil } let(:question_definition) { nil } + let(:start_date) { Time.utc(2024, 2, 8) } let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) } let(:page) { instance_double(Form::Page, subsection:) } @@ -47,10 +48,6 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model d expect(question.step).to eq(1) end - it "has correct suffix" do - expect(question.suffix).to eq(" years") - end - it "has correct min" do expect(question.min).to eq(0) end @@ -99,10 +96,6 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model d expect(question.step).to eq(1) end - it "has correct suffix" do - expect(question.suffix).to eq(" years") - end - it "has correct min" do expect(question.min).to eq(0) end @@ -111,4 +104,20 @@ RSpec.describe Form::Sales::Questions::LivingBeforePurchaseYears, type: :model d expect(question.max).to eq(80) end end + + context "when 1 year" do + let(:sales_log) { FactoryBot.build(:sales_log, proplen: 1) } + + it "has correct suffix" do + expect(question.suffix_label(sales_log)).to eq(" year") + end + end + + context "when multiple years" do + let(:sales_log) { FactoryBot.build(:sales_log, proplen: 5) } + + it "has correct suffix" do + expect(question.suffix_label(sales_log)).to eq(" years") + end + end end