Browse Source
* mark the beds question as derived when the log is a bedsit to stop it from being cleared * delete spec file not testing anything worthwhilepull/2475/head
Arthur Campbell
6 months ago
committed by
GitHub
3 changed files with 35 additions and 80 deletions
@ -1,33 +0,0 @@
|
||||
require "rails_helper" |
||||
|
||||
RSpec.describe Form::Lettings::Pages::PropertyNumberOfBedrooms, 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(2024, 4, 1))) } |
||||
|
||||
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[beds]) |
||||
end |
||||
|
||||
it "has the correct id" do |
||||
expect(page.id).to eq("property_number_of_bedrooms") |
||||
end |
||||
|
||||
it "has the correct header" do |
||||
expect(page.header).to be_nil |
||||
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([{ "is_general_needs?" => true, "is_beds_inferred?" => false }]) |
||||
end |
||||
end |
@ -1,65 +1,49 @@
|
||||
require "rails_helper" |
||||
|
||||
RSpec.describe Form::Lettings::Questions::Beds, type: :model do |
||||
subject(:question) { described_class.new(question_id, question_definition, page) } |
||||
subject(:question) { described_class.new(nil, nil, page) } |
||||
|
||||
let(:question_id) { nil } |
||||
let(:question_definition) { nil } |
||||
let(:page) { instance_double(Form::Page) } |
||||
let(:subsection) { instance_double(Form::Subsection) } |
||||
let(:page) { instance_double(Form::Page, subsection:) } |
||||
let(:subsection) { instance_double(Form::Subsection, form:) } |
||||
let(:form) { instance_double(Form, start_date: Time.zone.local(2023, 4, 1)) } |
||||
|
||||
before do |
||||
allow(form).to receive(:start_year_after_2024?).and_return(false) |
||||
allow(page).to receive(:subsection).and_return(subsection) |
||||
allow(subsection).to receive(:form).and_return(form) |
||||
end |
||||
|
||||
it "has correct page" do |
||||
expect(question.page).to eq(page) |
||||
end |
||||
|
||||
it "has the correct id" do |
||||
expect(question.id).to eq("beds") |
||||
end |
||||
|
||||
it "has the correct header" do |
||||
expect(question.header).to eq("How many bedrooms does the property have?") |
||||
end |
||||
|
||||
it "has the correct check_answer_label" do |
||||
expect(question.check_answer_label).to eq("Number of bedrooms") |
||||
end |
||||
describe "the hint text" do |
||||
context "when the start date is before 24/25" do |
||||
before do |
||||
allow(form).to receive(:start_year_after_2024?).and_return false |
||||
end |
||||
|
||||
it "has the correct type" do |
||||
expect(question.type).to eq("numeric") |
||||
end |
||||
it "has the correct hint_text" do |
||||
expect(question.hint_text).to eq("If shared accommodation, enter the number of bedrooms occupied by this household. A bedsit has 1 bedroom.") |
||||
end |
||||
end |
||||
|
||||
it "is not marked as derived" do |
||||
expect(question.derived?(nil)).to be false |
||||
end |
||||
context "when the start date is 24/25 or after" do |
||||
before do |
||||
allow(form).to receive(:start_year_after_2024?).and_return true |
||||
end |
||||
|
||||
it "has the correct min" do |
||||
expect(question.min).to eq(1) |
||||
it "has the correct hint_text" do |
||||
expect(question.hint_text).to eq("If shared accommodation, enter the number of bedrooms occupied by this household.") |
||||
end |
||||
end |
||||
end |
||||
|
||||
it "has the correct max" do |
||||
expect(question.max).to eq(12) |
||||
end |
||||
describe "whether the field is derived" do |
||||
context "when the log is a bedsit" do |
||||
let(:log) { build(:lettings_log, unittype_gn: 2) } |
||||
|
||||
context "with 2023/24 form" do |
||||
it "has the correct hint_text" do |
||||
expect(question.hint_text).to eq("If shared accommodation, enter the number of bedrooms occupied by this household. A bedsit has 1 bedroom.") |
||||
it "is not marked as derived" do |
||||
expect(question.derived?(log)).to be true |
||||
end |
||||
end |
||||
end |
||||
|
||||
context "with 2024/25 form" do |
||||
before do |
||||
allow(form).to receive(:start_year_after_2024?).and_return(true) |
||||
end |
||||
context "when the log is not a bedsit" do |
||||
let(:log) { build(:lettings_log, unittype_gn: 9) } |
||||
|
||||
it "has the correct hint_text" do |
||||
expect(question.hint_text).to eq("If shared accommodation, enter the number of bedrooms occupied by this household.") |
||||
it "is not marked as derived" do |
||||
expect(question.derived?(log)).to be false |
||||
end |
||||
end |
||||
end |
||||
end |
||||
|
Loading…
Reference in new issue