Browse Source

Rewrite `is_another_person_partner?` to be `is_any_person_partner?`

CLDC-4146-infer-no-other-partners
oscar-richardson-softwire 2 weeks ago
parent
commit
8600e42746
  1. 2
      app/models/form/lettings/pages/person_lead_partner.rb
  2. 4
      app/models/lettings_log.rb
  3. 12
      spec/models/form/lettings/pages/person_lead_partner_spec.rb
  4. 4
      spec/models/lettings_log_derived_fields_spec.rb
  5. 14
      spec/models/lettings_log_spec.rb

2
app/models/form/lettings/pages/person_lead_partner.rb

@ -30,6 +30,6 @@ class Form::Lettings::Pages::PersonLeadPartner < ::Form::Page
end
def skip_page_in_form_flow?(log)
form.start_year_2026_or_later? && log.is_another_person_partner?(@person_index)
form.start_year_2026_or_later? && log.is_any_person_partner?
end
end

4
app/models/lettings_log.rb

@ -449,9 +449,7 @@ class LettingsLog < Log
public_send("age#{person_index}") && public_send("age#{person_index}") < 16
end
def is_another_person_partner?(person_index)
partner_numbers.delete(person_index)
def is_any_person_partner?
!partner_numbers.empty?
end

12
spec/models/form/lettings/pages/person_lead_partner_spec.rb

@ -9,8 +9,8 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do
let(:form) { instance_double(Form, start_date: Time.zone.local(2024, 4, 1), start_year_2026_or_later?: start_year_2026_or_later?, person_question_count:) }
let(:subsection) { instance_double(Form::Subsection, form:) }
let(:person_index) { 2 }
let(:is_another_person_partner?) { false }
let(:log) { instance_double(LettingsLog, is_another_person_partner?: is_another_person_partner?) }
let(:is_any_person_partner?) { false }
let(:log) { instance_double(LettingsLog, is_any_person_partner?: is_any_person_partner?) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)
@ -23,7 +23,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do
describe "#skip_page_in_form_flow?" do
context "with start year < 2026", metadata: { year: 25 } do
context "when no other person is the partner of the lead tenant" do
let(:is_another_person_partner?) { false }
let(:is_any_person_partner?) { false }
it "returns false" do
expect(page.skip_page_in_form_flow?(log)).to be false
@ -31,7 +31,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do
end
context "when another person is the partner of the lead tenant" do
let(:is_another_person_partner?) { true }
let(:is_any_person_partner?) { true }
it "returns false" do
expect(page.skip_page_in_form_flow?(log)).to be false
@ -43,7 +43,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do
let(:start_year_2026_or_later?) { true }
context "when no other person is the partner of the lead tenant" do
let(:is_another_person_partner?) { false }
let(:is_any_person_partner?) { false }
it "returns false" do
expect(page.skip_page_in_form_flow?(log)).to be false
@ -51,7 +51,7 @@ RSpec.describe Form::Lettings::Pages::PersonLeadPartner, type: :model do
end
context "when another person is the partner of the lead tenant" do
let(:is_another_person_partner?) { true }
let(:is_any_person_partner?) { true }
it "returns true" do
expect(page.skip_page_in_form_flow?(log)).to be true

4
spec/models/lettings_log_derived_fields_spec.rb

@ -1759,7 +1759,7 @@ RSpec.describe LettingsLog, type: :model do
end
context "when there is an existing relationship" do
let(:log) { create(:lettings_log, :completed, hhmemb: 6, details_known_2: 0, details_known_3: 0, details_known_4: 0, details_known_5: 0, details_known_6: 0, relat2: "X", relat3: "P", relat4: "R", relat5: "X") }
let(:log) { create(:lettings_log, :in_progress, hhmemb: 6, details_known_2: 0, details_known_3: 0, details_known_4: 0, details_known_5: 0, details_known_6: 0, relat2: "X", relat3: "P", relat4: "R", relat5: "X") }
context "and a new relationship is added to an earlier person than the existing one" do
before do
@ -1876,7 +1876,7 @@ RSpec.describe LettingsLog, type: :model do
end
context "when more than one relationship is set" do
let(:log) { create(:lettings_log, :completed, hhmemb: 6, details_known_2: 0, details_known_3: 0, details_known_4: 0, details_known_5: 0, details_known_6: 0, relat2: "X", relat3: "X", relat4: "R", relat5: "X") }
let(:log) { create(:lettings_log, :in_progress, hhmemb: 6, details_known_2: 0, details_known_3: 0, details_known_4: 0, details_known_5: 0, details_known_6: 0, relat2: "X", relat3: "X", relat4: "R", relat5: "X") }
before do
log.relat2 = "P"

14
spec/models/lettings_log_spec.rb

@ -2350,20 +2350,20 @@ RSpec.describe LettingsLog do
end
end
describe "#is_another_person_partner?" do
context "when no other person is the partner of the lead tenant" do
let(:log) { create(:lettings_log, :completed, hhmemb: 4, relat2: "X", relat3: "R") }
describe "#is_any_person_partner?" do
context "when no person is the partner of the lead tenant" do
let(:log) { create(:lettings_log, :in_progress, hhmemb: 3, details_known_2: 0, details_known_3: 0, relat2: "X", relat3: "R") }
it "returns false" do
expect(log.is_another_person_partner?(4)).to be false
expect(log.is_any_person_partner?).to be false
end
end
context "when another person is the partner of the lead tenant" do
let(:log) { create(:lettings_log, :completed, hhmemb: 4, relat2: "X", relat3: "P") }
context "when a person is the partner of the lead tenant" do
let(:log) { create(:lettings_log, :in_progress, hhmemb: 3, details_known_2: 0, details_known_3: 0, relat2: "X", relat3: "P") }
it "returns true" do
expect(log.is_another_person_partner?(4)).to be true
expect(log.is_any_person_partner?).to be true
end
end
end

Loading…
Cancel
Save