Browse Source

CLDC-4173: update tests

pull/3186/head
Nat Dean-Lewis 4 weeks ago
parent
commit
67839dcaef
  1. 1
      spec/factories/sales_log.rb
  2. 34
      spec/models/form/sales/pages/building_height_class_spec.rb
  3. 37
      spec/models/form/sales/questions/building_height_class_spec.rb
  4. 35
      spec/models/form/sales/subsections/property_information_spec.rb
  5. 1
      spec/services/bulk_upload/sales/year2026/row_parser_spec.rb

1
spec/factories/sales_log.rb

@ -90,6 +90,7 @@ FactoryBot.define do
buy1livein { 1 }
relat2 { "P" }
proptype { 1 }
buildheightclass { 2 }
age2_known { 0 }
age2 { Faker::Number.within(range: 25..45) }
builtype { 1 }

34
spec/models/form/sales/pages/building_height_class_spec.rb

@ -0,0 +1,34 @@
require "rails_helper"
RSpec.describe Form::Sales::Pages::BuildingHeightClass, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1))) }
let(:sales_log) { FactoryBot.create(:sales_log, :completed) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
end
it "has correct questions" do
expect(page.questions.map(&:id)).to eq(%w[buildheightclass])
end
it "has the correct id" do
expect(page.id).to eq("building_height_class")
end
it "has the correct description" do
expect(page.description).to be_nil
end
it "has the correct depends_on" do
expect(page.depends_on).to eq([
{ "proptype" => 1 },
{ "proptype" => 2 },
{ "proptype" => 9 },
])
end
end

37
spec/models/form/sales/questions/building_height_class_spec.rb

@ -0,0 +1,37 @@
require "rails_helper"
RSpec.describe Form::Sales::Questions::BuildingHeightClass, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:page) { instance_double(Form::Page, subsection: instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1)))) }
it "has correct page" do
expect(question.page).to eq(page)
end
it "has the correct id" do
expect(question.id).to eq("buildheightclass")
end
it "has the correct type" do
expect(question.type).to eq("radio")
end
it "is not marked as derived" do
expect(question.derived?(nil)).to be false
end
it "has the correct answer_options" do
expect(question.answer_options).to eq({
"1" => { "value" => "High-rise" },
"2" => { "value" => "Low-rise" },
"3" => { "value" => "Don't know" },
})
end
it "has the correct question_number" do
expect(question.question_number).to eq(17)
end
end

35
spec/models/form/sales/subsections/property_information_spec.rb

@ -16,6 +16,7 @@ RSpec.describe Form::Sales::Subsections::PropertyInformation, 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(form).to receive(:start_year_2026_or_later?).and_return(false)
end
context "when 2023" do
@ -50,6 +51,7 @@ RSpec.describe Form::Sales::Subsections::PropertyInformation, type: :model 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)
allow(form).to receive(:start_year_2026_or_later?).and_return(false)
end
it "has correct pages" do
@ -80,6 +82,7 @@ RSpec.describe Form::Sales::Subsections::PropertyInformation, type: :model 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(true)
allow(form).to receive(:start_year_2026_or_later?).and_return(false)
end
it "has correct pages" do
@ -103,6 +106,38 @@ RSpec.describe Form::Sales::Subsections::PropertyInformation, type: :model do
)
end
end
context "when 2026" do
let(:start_date) { Time.utc(2026, 2, 8) }
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(true)
allow(form).to receive(:start_year_2026_or_later?).and_return(true)
end
it "has correct pages" do
expect(property_information.pages.map(&:id)).to eq(
%w[
address_search
address
property_local_authority
local_authority_buyer_1_income_max_value_check
local_authority_buyer_2_income_max_value_check
local_authority_combined_income_max_value_check
about_price_la_value_check
property_unit_type
building_height_class
property_number_of_bedrooms
about_price_bedrooms_value_check
monthly_charges_property_type_value_check
percentage_discount_proptype_value_check
property_building_type
property_wheelchair_accessible
],
)
end
end
end
it "has the correct id" do

1
spec/services/bulk_upload/sales/year2026/row_parser_spec.rb

@ -118,6 +118,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
field_125: "M",
field_126: "R",
field_127: "R",
field_128: "1",
}
end

Loading…
Cancel
Save