From e7bddbd570326fa8fff0e5b8eaa475490f92c9eb Mon Sep 17 00:00:00 2001
From: Kat <54268893+kosiakkatrina@users.noreply.github.com>
Date: Wed, 15 Jan 2025 14:14:05 +0000
Subject: [PATCH] Update answer options for 2025

---
 .../lettings/questions/previous_let_type.rb   | 21 ++++++++++++++++++-
 .../form/lettings/questions/rent_type.rb      | 13 ++++++++----
 .../questions/previous_let_type_spec.rb       | 21 +++++++++++++++++++
 .../form/lettings/questions/rent_type_spec.rb |  9 ++++----
 4 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/app/models/form/lettings/questions/previous_let_type.rb b/app/models/form/lettings/questions/previous_let_type.rb
index 8c50cb41a..509e43503 100644
--- a/app/models/form/lettings/questions/previous_let_type.rb
+++ b/app/models/form/lettings/questions/previous_let_type.rb
@@ -4,7 +4,7 @@ class Form::Lettings::Questions::PreviousLetType < ::Form::Question
     @id = "unitletas"
     @type = "radio"
     @check_answers_card_number = 0
-    @answer_options = form.start_year_2024_or_later? ? ANSWER_OPTIONS_AFTER_2024 : ANSWER_OPTIONS
+    @answer_options = answer_options
     @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max]
   end
 
@@ -30,5 +30,24 @@ class Form::Lettings::Questions::PreviousLetType < ::Form::Question
     "3" => { "value" => "Don’t know" },
   }.freeze
 
+  ANSWER_OPTIONS_AFTER_2025 = {
+    "1" => { "value" => "Social rent basis" },
+    "2" => { "value" => "Affordable rent basis" },
+    "5" => { "value" => "London Affordable Rent basis" },
+    "6" => { "value" => "Rent to Buy basis" },
+    "7" => { "value" => "London Living Rent basis" },
+    "8" => { "value" => "Another Intermediate Rent basis" },
+    "9" => { "value" => "Specified accommodation - exempt accommodation, manged properties, refuges and local authority hostels" },
+    "divider" => { "value" => true },
+    "3" => { "value" => "Don’t know" },
+  }.freeze
+
   QUESTION_NUMBER_FROM_YEAR = { 2023 => 16, 2024 => 17 }.freeze
+
+  def answer_options
+    return ANSWER_OPTIONS_AFTER_2025 if form.start_year_2025_or_later?
+    return ANSWER_OPTIONS_AFTER_2024 if form.start_year_2024_or_later?
+
+    ANSWER_OPTIONS
+  end
 end
diff --git a/app/models/form/lettings/questions/rent_type.rb b/app/models/form/lettings/questions/rent_type.rb
index b941dfcc3..7700c5284 100644
--- a/app/models/form/lettings/questions/rent_type.rb
+++ b/app/models/form/lettings/questions/rent_type.rb
@@ -5,28 +5,33 @@ class Form::Lettings::Questions::RentType < ::Form::Question
     @copy_key = "lettings.setup.rent_type.rent_type"
     @type = "radio"
     @top_guidance_partial = "rent_type_definitions"
-    @answer_options = form.start_year_2024_or_later? ? ANSWER_OPTIONS_2024 : ANSWER_OPTIONS
+    @answer_options = answer_options
     @conditional_for = { "irproduct_other" => [5] }
     @question_number = QUESTION_NUMBER_FROM_YEAR[form.start_date.year] || QUESTION_NUMBER_FROM_YEAR[QUESTION_NUMBER_FROM_YEAR.keys.max] if form.start_date.present?
   end
 
   ANSWER_OPTIONS = {
+    "0" => { "value" => "Social Rent" },
     "1" => { "value" => "Affordable Rent" },
     "2" => { "value" => "London Affordable Rent" },
-    "4" => { "value" => "London Living Rent" },
     "3" => { "value" => "Rent to Buy" },
-    "0" => { "value" => "Social Rent" },
+    "4" => { "value" => "London Living Rent" },
     "5" => { "value" => "Other intermediate rent product" },
   }.freeze
 
-  ANSWER_OPTIONS_2024 = {
+  ANSWER_OPTIONS_2025 = {
     "0" => { "value" => "Social Rent" },
     "1" => { "value" => "Affordable Rent" },
     "2" => { "value" => "London Affordable Rent" },
     "3" => { "value" => "Rent to Buy" },
     "4" => { "value" => "London Living Rent" },
     "5" => { "value" => "Other intermediate rent product" },
+    "6" => { "value" => "Specified accommodation - exempt accommodation, managed properties, refuges and local authority hostels" },
   }.freeze
 
   QUESTION_NUMBER_FROM_YEAR = { 2023 => 6, 2024 => 8 }.freeze
+
+  def answer_options
+    form.start_year_2025_or_later? ? ANSWER_OPTIONS_2025 : ANSWER_OPTIONS
+  end
 end
diff --git a/spec/models/form/lettings/questions/previous_let_type_spec.rb b/spec/models/form/lettings/questions/previous_let_type_spec.rb
index 95c1451cd..856d88bf5 100644
--- a/spec/models/form/lettings/questions/previous_let_type_spec.rb
+++ b/spec/models/form/lettings/questions/previous_let_type_spec.rb
@@ -9,6 +9,7 @@ RSpec.describe Form::Lettings::Questions::PreviousLetType, type: :model do
 
   before do
     allow(form).to receive(:start_year_2024_or_later?).and_return(false)
+    allow(form).to receive(:start_year_2025_or_later?).and_return(false)
     allow(page).to receive(:subsection).and_return(subsection)
     allow(subsection).to receive(:form).and_return(form)
   end
@@ -60,4 +61,24 @@ RSpec.describe Form::Lettings::Questions::PreviousLetType, type: :model do
       })
     end
   end
+
+  context "with collection year on or after 2025" do
+    before do
+      allow(form).to receive(:start_year_2025_or_later?).and_return(true)
+    end
+
+    it "has the correct answer options" do
+      expect(question.answer_options).to eq({
+        "1" => { "value" => "Social rent basis" },
+        "2" => { "value" => "Affordable rent basis" },
+        "5" => { "value" => "London Affordable Rent basis" },
+        "6" => { "value" => "Rent to Buy basis" },
+        "7" => { "value" => "London Living Rent basis" },
+        "8" => { "value" => "Another Intermediate Rent basis" },
+        "9" => { "value" => "Specified accommodation - exempt accommodation, manged properties, refuges and local authority hostels" },
+        "divider" => { "value" => true },
+        "3" => { "value" => "Don’t know" },
+      })
+    end
+  end
 end
diff --git a/spec/models/form/lettings/questions/rent_type_spec.rb b/spec/models/form/lettings/questions/rent_type_spec.rb
index 7d45320ad..adf454903 100644
--- a/spec/models/form/lettings/questions/rent_type_spec.rb
+++ b/spec/models/form/lettings/questions/rent_type_spec.rb
@@ -12,7 +12,7 @@ RSpec.describe Form::Lettings::Questions::RentType, type: :model do
   before do
     allow(page).to receive(:subsection).and_return(subsection)
     allow(subsection).to receive(:form).and_return(form)
-    allow(form).to receive(:start_year_2024_or_later?).and_return(false)
+    allow(form).to receive(:start_year_2025_or_later?).and_return(false)
   end
 
   it "has correct page" do
@@ -35,9 +35,9 @@ RSpec.describe Form::Lettings::Questions::RentType, type: :model do
     expect(question.derived?(nil)).to be false
   end
 
-  context "when 2023" do
+  context "when 2025" do
     before do
-      allow(form).to receive(:start_year_2024_or_later?).and_return(false)
+      allow(form).to receive(:start_year_2025_or_later?).and_return(true)
     end
 
     it "has the correct answer_options" do
@@ -48,6 +48,7 @@ RSpec.describe Form::Lettings::Questions::RentType, type: :model do
         "3" => { "value" => "Rent to Buy" },
         "0" => { "value" => "Social Rent" },
         "5" => { "value" => "Other intermediate rent product" },
+        "6" => { "value" => "Specified accommodation - exempt accommodation, managed properties, refuges and local authority hostels" },
       })
     end
 
@@ -58,7 +59,7 @@ RSpec.describe Form::Lettings::Questions::RentType, type: :model do
 
   context "when 2024" do
     before do
-      allow(form).to receive(:start_year_2024_or_later?).and_return(true)
+      allow(form).to receive(:start_year_2025_or_later?).and_return(false)
     end
 
     it "has the correct answer_options" do