Browse Source

infer the correct field value and remove irrelevant dynamically not required line

pull/496/head
Kat 3 years ago
parent
commit
d646418dcc
  1. 9
      app/models/case_log.rb
  2. 32
      spec/models/case_log_spec.rb

9
app/models/case_log.rb

@ -396,7 +396,7 @@ private
end
def reset_derived_questions
dependent_questions = { layear: [{ key: :renewal, value: 0 }],
dependent_questions = { waityear: [{ key: :renewal, value: 0 }],
homeless: [{ key: :renewal, value: 0 }],
referral: [{ key: :renewal, value: 0 }],
underoccupation_benefitcap: [{ key: :renewal, value: 0 }] }
@ -418,10 +418,7 @@ private
end
def dynamically_not_required
la_known_questions = []
la_known_questions << "la_known" if postcode_known != 0
la_known_questions << "previous_la_known" if previous_postcode_known != 0
((form.invalidated_questions(self) + form.readonly_questions).map(&:id) + la_known_questions).uniq
(form.invalidated_questions(self) + form.readonly_questions).map(&:id).uniq
end
def set_derived_fields!
@ -462,7 +459,7 @@ private
self.underoccupation_benefitcap = 2 if collection_start_year == 2021
self.homeless = 2
self.referral = 0
self.layear = 1
self.waityear = 1
if is_general_needs?
# fixed term
self.prevten = 32 if managing_organisation.provider_type == "PRP"

32
spec/models/case_log_spec.rb

@ -1381,10 +1381,10 @@ RSpec.describe CaseLog do
})
end
it "correctly derives and saves layear" do
record_from_db = ActiveRecord::Base.connection.execute("select layear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["layear"]).to eq(1)
expect(case_log["layear"]).to eq(1)
it "correctly derives and saves waityear" do
record_from_db = ActiveRecord::Base.connection.execute("select waityear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["waityear"]).to eq(1)
expect(case_log["waityear"]).to eq(1)
end
it "correctly derives and saves underoccupation_benefitcap if year is 2021" do
@ -1703,29 +1703,29 @@ RSpec.describe CaseLog do
context "when it changes from a renewal to not a renewal" do
let(:case_log) { FactoryBot.create(:case_log) }
it "resets inferred layear value" do
it "resets inferred waityear value" do
case_log.update!({ renewal: 1 })
record_from_db = ActiveRecord::Base.connection.execute("select layear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["layear"]).to eq(1)
expect(case_log["layear"]).to eq(1)
record_from_db = ActiveRecord::Base.connection.execute("select waityear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["waityear"]).to eq(1)
expect(case_log["waityear"]).to eq(1)
case_log.update!({ renewal: 0 })
record_from_db = ActiveRecord::Base.connection.execute("select layear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["layear"]).to eq(nil)
expect(case_log["layear"]).to eq(nil)
record_from_db = ActiveRecord::Base.connection.execute("select waityear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["waityear"]).to eq(nil)
expect(case_log["waityear"]).to eq(nil)
end
end
context "when it is not a renewal" do
let(:case_log) { FactoryBot.create(:case_log) }
it "saves layear value" do
case_log.update!({ renewal: 0, layear: 2 })
it "saves waityear value" do
case_log.update!({ renewal: 0, waityear: 2 })
record_from_db = ActiveRecord::Base.connection.execute("select layear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["layear"]).to eq(2)
expect(case_log["layear"]).to eq(2)
record_from_db = ActiveRecord::Base.connection.execute("select waityear from case_logs where id=#{case_log.id}").to_a[0]
expect(record_from_db["waityear"]).to eq(2)
expect(case_log["waityear"]).to eq(2)
end
end
end

Loading…
Cancel
Save