Browse Source

CLDC-4203: Swap age and relat fields

as age is now asked first
pull/3189/head
samyou-softwire 4 weeks ago
parent
commit
6a344d0874
  1. 17
      app/helpers/bulk_upload/lettings_log_to_csv.rb
  2. 168
      app/services/bulk_upload/lettings/year2026/row_parser.rb
  3. 66
      spec/services/bulk_upload/lettings/year2026/row_parser_spec.rb

17
app/helpers/bulk_upload/lettings_log_to_csv.rb

@ -149,47 +149,46 @@ class BulkUpload::LettingsLogToCsv
log.ethnic, log.ethnic,
log.nationality_all_group, log.nationality_all_group,
log.ecstat1, log.ecstat1,
relat_number(log.relat2),
log.age2 || overrides[:age2], log.age2 || overrides[:age2],
relat_number(log.relat2),
log.sexrab2, # 50 log.sexrab2, # 50
log.gender_same_as_sex2, log.gender_same_as_sex2,
log.gender_description2, log.gender_description2,
log.ecstat2, log.ecstat2,
relat_number(log.relat3),
log.age3 || overrides[:age3], log.age3 || overrides[:age3],
relat_number(log.relat3),
log.sexrab3, log.sexrab3,
log.gender_same_as_sex3, log.gender_same_as_sex3,
log.gender_description3, log.gender_description3,
log.ecstat3, log.ecstat3,
relat_number(log.relat4), # 60 log.age4 || overrides[:age4], # 60
log.age4 || overrides[:age4], relat_number(log.relat4),
log.sexrab4, log.sexrab4,
log.gender_same_as_sex4, log.gender_same_as_sex4,
log.gender_description4, log.gender_description4,
log.ecstat4, log.ecstat4,
relat_number(log.relat5),
log.age5 || overrides[:age5], log.age5 || overrides[:age5],
relat_number(log.relat5),
log.sexrab5, log.sexrab5,
log.gender_same_as_sex5, log.gender_same_as_sex5,
log.gender_description5, # 70 log.gender_description5, # 70
log.ecstat5, log.ecstat5,
relat_number(log.relat6),
log.age6 || overrides[:age6], log.age6 || overrides[:age6],
relat_number(log.relat6),
log.sexrab6, log.sexrab6,
log.gender_same_as_sex6, log.gender_same_as_sex6,
log.gender_description6, log.gender_description6,
log.ecstat6, log.ecstat6,
relat_number(log.relat7),
log.age7 || overrides[:age7], log.age7 || overrides[:age7],
relat_number(log.relat7),
log.sexrab7, # 80 log.sexrab7, # 80
log.gender_same_as_sex7, log.gender_same_as_sex7,
log.gender_description7, log.gender_description7,
log.ecstat7, log.ecstat7,
relat_number(log.relat8),
log.age8 || overrides[:age8], log.age8 || overrides[:age8],
relat_number(log.relat8),
log.sexrab8, log.sexrab8,
log.gender_same_as_sex8, log.gender_same_as_sex8,
log.gender_description8, log.gender_description8,

168
app/services/bulk_upload/lettings/year2026/row_parser.rb

@ -52,44 +52,44 @@ class BulkUpload::Lettings::Year2026::RowParser
field_45: "Which of these best describes the lead tenant’s ethnic background?", field_45: "Which of these best describes the lead tenant’s ethnic background?",
field_46: "What is the lead tenant’s nationality?", field_46: "What is the lead tenant’s nationality?",
field_47: "Which of these best describes the lead tenant’s working situation?", field_47: "Which of these best describes the lead tenant’s working situation?",
field_48: "Is person 2 the partner of the lead tenant?", field_48: "What is person 2’s age?",
field_49: "What is person 2’s age?", field_49: "Is person 2 the partner of the lead tenant?",
field_50: "Person 2's sex, as registered at birth", field_50: "Person 2's sex, as registered at birth",
field_51: "Is the gender person 2 identifies with the same as their sex registered at birth?", field_51: "Is the gender person 2 identifies with the same as their sex registered at birth?",
field_52: "If 'No', enter person 2's gender identity", field_52: "If 'No', enter person 2's gender identity",
field_53: "Which of these best describes person 2’s working situation?", field_53: "Which of these best describes person 2’s working situation?",
field_54: "Is person 3 the partner of the lead tenant?", field_54: "What is person 3’s age?",
field_55: "What is person 3’s age?", field_55: "Is person 3 the partner of the lead tenant?",
field_56: "Person 3's sex, as registered at birth", field_56: "Person 3's sex, as registered at birth",
field_57: "Is the gender person 3 identifies with the same as their sex registered at birth?", field_57: "Is the gender person 3 identifies with the same as their sex registered at birth?",
field_58: "If 'No', enter person 3's gender identity", field_58: "If 'No', enter person 3's gender identity",
field_59: "Which of these best describes person 3’s working situation?", field_59: "Which of these best describes person 3’s working situation?",
field_60: "Is person 4 the partner of the lead tenant?", field_60: "What is person 4’s age?",
field_61: "What is person 4’s age?", field_61: "Is person 4 the partner of the lead tenant?",
field_62: "Person 4's sex, as registered at birth", field_62: "Person 4's sex, as registered at birth",
field_63: "Is the gender person 4 identifies with the same as their sex registered at birth?", field_63: "Is the gender person 4 identifies with the same as their sex registered at birth?",
field_64: "If 'No', enter person 4's gender identity", field_64: "If 'No', enter person 4's gender identity",
field_65: "Which of these best describes person 4’s working situation?", field_65: "Which of these best describes person 4’s working situation?",
field_66: "Is person 5 the partner of the lead tenant?", field_66: "What is person 5’s age?",
field_67: "What is person 5’s age?", field_67: "Is person 5 the partner of the lead tenant?",
field_68: "Person 5's sex, as registered at birth", field_68: "Person 5's sex, as registered at birth",
field_69: "Is the gender person 5 identifies with the same as their sex registered at birth?", field_69: "Is the gender person 5 identifies with the same as their sex registered at birth?",
field_70: "If 'No', enter person 5's gender identity", field_70: "If 'No', enter person 5's gender identity",
field_71: "Which of these best describes person 5’s working situation?", field_71: "Which of these best describes person 5’s working situation?",
field_72: "Is person 6 the partner of the lead tenant?", field_72: "What is person 6’s age?",
field_73: "What is person 6’s age?", field_73: "Is person 6 the partner of the lead tenant?",
field_74: "Person 6's sex, as registered at birth", field_74: "Person 6's sex, as registered at birth",
field_75: "Is the gender person 6 identifies with the same as their sex registered at birth?", field_75: "Is the gender person 6 identifies with the same as their sex registered at birth?",
field_76: "If 'No', enter person 6's gender identity", field_76: "If 'No', enter person 6's gender identity",
field_77: "Which of these best describes person 6’s working situation?", field_77: "Which of these best describes person 6’s working situation?",
field_78: "Is person 7 the partner of the lead tenant?", field_78: "What is person 7’s age?",
field_79: "What is person 7’s age?", field_79: "Is person 7 the partner of the lead tenant?",
field_80: "Person 7's sex, as registered at birth", field_80: "Person 7's sex, as registered at birth",
field_81: "Is the gender person 7 identifies with the same as their sex registered at birth?", field_81: "Is the gender person 7 identifies with the same as their sex registered at birth?",
field_82: "If 'No', enter person 7's gender identity", field_82: "If 'No', enter person 7's gender identity",
field_83: "Which of these best describes person 7’s working situation?", field_83: "Which of these best describes person 7’s working situation?",
field_84: "Is person 8 the partner of the lead tenant?", field_84: "What is person 8’s age?",
field_85: "What is person 8’s age?", field_85: "Is person 8 the partner of the lead tenant?",
field_86: "Person 8's sex, as registered at birth", field_86: "Person 8's sex, as registered at birth",
field_87: "Is the gender person 8 identifies with the same as their sex registered at birth?", field_87: "Is the gender person 8 identifies with the same as their sex registered at birth?",
field_88: "If 'No', enter person 8's gender identity", field_88: "If 'No', enter person 8's gender identity",
@ -217,32 +217,32 @@ class BulkUpload::Lettings::Year2026::RowParser
attribute :field_45, :integer attribute :field_45, :integer
attribute :field_46, :integer attribute :field_46, :integer
attribute :field_47, :integer attribute :field_47, :integer
attribute :field_48, :integer attribute :field_49, :integer
attribute :field_49, :string attribute :field_48, :string
attribute :field_50, :string attribute :field_50, :string
attribute :field_53, :integer attribute :field_53, :integer
attribute :field_54, :integer attribute :field_55, :integer
attribute :field_55, :string attribute :field_54, :string
attribute :field_56, :string attribute :field_56, :string
attribute :field_59, :integer attribute :field_59, :integer
attribute :field_60, :integer attribute :field_61, :integer
attribute :field_61, :string attribute :field_60, :string
attribute :field_62, :string attribute :field_62, :string
attribute :field_65, :integer attribute :field_65, :integer
attribute :field_66, :integer attribute :field_67, :integer
attribute :field_67, :string attribute :field_66, :string
attribute :field_68, :string attribute :field_68, :string
attribute :field_71, :integer attribute :field_71, :integer
attribute :field_72, :integer attribute :field_73, :integer
attribute :field_73, :string attribute :field_72, :string
attribute :field_74, :string attribute :field_74, :string
attribute :field_77, :integer attribute :field_77, :integer
attribute :field_78, :integer attribute :field_79, :integer
attribute :field_79, :string attribute :field_78, :string
attribute :field_80, :string attribute :field_80, :string
attribute :field_83, :integer attribute :field_83, :integer
attribute :field_84, :integer attribute :field_85, :integer
attribute :field_85, :string attribute :field_84, :string
attribute :field_86, :string attribute :field_86, :string
attribute :field_89, :integer attribute :field_89, :integer
attribute :field_90, :integer attribute :field_90, :integer
@ -436,13 +436,13 @@ class BulkUpload::Lettings::Year2026::RowParser
on: :after_log on: :after_log
validates :field_41, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 1) }, on: :after_log validates :field_41, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 1) }, on: :after_log
validates :field_49, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 2) }, on: :after_log, if: proc { details_known?(2).zero? } validates :field_48, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 2) }, on: :after_log, if: proc { details_known?(2).zero? }
validates :field_55, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 3) }, on: :after_log, if: proc { details_known?(3).zero? } validates :field_54, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 3) }, on: :after_log, if: proc { details_known?(3).zero? }
validates :field_61, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 4) }, on: :after_log, if: proc { details_known?(4).zero? } validates :field_60, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 4) }, on: :after_log, if: proc { details_known?(4).zero? }
validates :field_67, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 5) }, on: :after_log, if: proc { details_known?(5).zero? } validates :field_66, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 5) }, on: :after_log, if: proc { details_known?(5).zero? }
validates :field_73, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 6) }, on: :after_log, if: proc { details_known?(6).zero? } validates :field_72, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 6) }, on: :after_log, if: proc { details_known?(6).zero? }
validates :field_79, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 7) }, on: :after_log, if: proc { details_known?(7).zero? } validates :field_78, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 7) }, on: :after_log, if: proc { details_known?(7).zero? }
validates :field_85, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 8) }, on: :after_log, if: proc { details_known?(8).zero? } validates :field_84, format: { with: /\A\d{1,3}\z|\AR\z/, message: I18n.t("#{ERROR_BASE_KEY}.age.invalid", person_num: 8) }, on: :after_log, if: proc { details_known?(8).zero? }
validate :validate_needs_type_present, on: :after_log validate :validate_needs_type_present, on: :after_log
validate :validate_data_types, on: :after_log validate :validate_data_types, on: :after_log
@ -1102,20 +1102,20 @@ private
age1_known: %i[field_41], age1_known: %i[field_41],
age1: %i[field_41], age1: %i[field_41],
age2_known: %i[field_49], age2_known: %i[field_48],
age2: %i[field_49], age2: %i[field_48],
age3_known: %i[field_55], age3_known: %i[field_54],
age3: %i[field_55], age3: %i[field_54],
age4_known: %i[field_61], age4_known: %i[field_60],
age4: %i[field_61], age4: %i[field_60],
age5_known: %i[field_67], age5_known: %i[field_66],
age5: %i[field_67], age5: %i[field_66],
age6_known: %i[field_73], age6_known: %i[field_72],
age6: %i[field_73], age6: %i[field_72],
age7_known: %i[field_79], age7_known: %i[field_78],
age7: %i[field_79], age7: %i[field_78],
age8_known: %i[field_85], age8_known: %i[field_84],
age8: %i[field_85], age8: %i[field_84],
sexrab1: %i[field_42], sexrab1: %i[field_42],
sexrab2: %i[field_50], sexrab2: %i[field_50],
@ -1131,13 +1131,13 @@ private
nationality_all: %i[field_46], nationality_all: %i[field_46],
nationality_all_group: %i[field_46], nationality_all_group: %i[field_46],
relat2: %i[field_48], relat2: %i[field_49],
relat3: %i[field_54], relat3: %i[field_55],
relat4: %i[field_60], relat4: %i[field_61],
relat5: %i[field_66], relat5: %i[field_67],
relat6: %i[field_72], relat6: %i[field_73],
relat7: %i[field_78], relat7: %i[field_79],
relat8: %i[field_84], relat8: %i[field_85],
ecstat1: %i[field_47], ecstat1: %i[field_47],
ecstat2: %i[field_53], ecstat2: %i[field_53],
@ -1288,25 +1288,25 @@ private
attributes["age1"] = field_41 if attributes["age1_known"]&.zero? && field_41&.match(/\A\d{1,3}\z|\AR\z/) attributes["age1"] = field_41 if attributes["age1_known"]&.zero? && field_41&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age2_known"] = age2_known? attributes["age2_known"] = age2_known?
attributes["age2"] = field_49 if attributes["age2_known"]&.zero? && field_49&.match(/\A\d{1,3}\z|\AR\z/) attributes["age2"] = field_48 if attributes["age2_known"]&.zero? && field_48&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age3_known"] = age3_known? attributes["age3_known"] = age3_known?
attributes["age3"] = field_55 if attributes["age3_known"]&.zero? && field_55&.match(/\A\d{1,3}\z|\AR\z/) attributes["age3"] = field_54 if attributes["age3_known"]&.zero? && field_54&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age4_known"] = age4_known? attributes["age4_known"] = age4_known?
attributes["age4"] = field_61 if attributes["age4_known"]&.zero? && field_61&.match(/\A\d{1,3}\z|\AR\z/) attributes["age4"] = field_60 if attributes["age4_known"]&.zero? && field_60&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age5_known"] = age5_known? attributes["age5_known"] = age5_known?
attributes["age5"] = field_67 if attributes["age5_known"]&.zero? && field_67&.match(/\A\d{1,3}\z|\AR\z/) attributes["age5"] = field_66 if attributes["age5_known"]&.zero? && field_66&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age6_known"] = age6_known? attributes["age6_known"] = age6_known?
attributes["age6"] = field_73 if attributes["age6_known"]&.zero? && field_73&.match(/\A\d{1,3}\z|\AR\z/) attributes["age6"] = field_72 if attributes["age6_known"]&.zero? && field_72&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age7_known"] = age7_known? attributes["age7_known"] = age7_known?
attributes["age7"] = field_79 if attributes["age7_known"]&.zero? && field_79&.match(/\A\d{1,3}\z|\AR\z/) attributes["age7"] = field_78 if attributes["age7_known"]&.zero? && field_78&.match(/\A\d{1,3}\z|\AR\z/)
attributes["age8_known"] = age8_known? attributes["age8_known"] = age8_known?
attributes["age8"] = field_85 if attributes["age8_known"]&.zero? && field_85&.match(/\A\d{1,3}\z|\AR\z/) attributes["age8"] = field_84 if attributes["age8_known"]&.zero? && field_84&.match(/\A\d{1,3}\z|\AR\z/)
attributes["sexrab1"] = field_42 attributes["sexrab1"] = field_42
attributes["sexrab2"] = field_50 attributes["sexrab2"] = field_50
@ -1322,13 +1322,13 @@ private
attributes["nationality_all"] = field_46 if field_46.present? && valid_nationality_options.include?(field_46.to_s) attributes["nationality_all"] = field_46 if field_46.present? && valid_nationality_options.include?(field_46.to_s)
attributes["nationality_all_group"] = nationality_group(attributes["nationality_all"]) attributes["nationality_all_group"] = nationality_group(attributes["nationality_all"])
attributes["relat2"] = relationship_from_input_value(field_48) attributes["relat2"] = relationship_from_input_value(field_49)
attributes["relat3"] = relationship_from_input_value(field_54) attributes["relat3"] = relationship_from_input_value(field_55)
attributes["relat4"] = relationship_from_input_value(field_60) attributes["relat4"] = relationship_from_input_value(field_61)
attributes["relat5"] = relationship_from_input_value(field_66) attributes["relat5"] = relationship_from_input_value(field_67)
attributes["relat6"] = relationship_from_input_value(field_72) attributes["relat6"] = relationship_from_input_value(field_73)
attributes["relat7"] = relationship_from_input_value(field_78) attributes["relat7"] = relationship_from_input_value(field_79)
attributes["relat8"] = relationship_from_input_value(field_84) attributes["relat8"] = relationship_from_input_value(field_85)
attributes["ecstat1"] = field_47 attributes["ecstat1"] = field_47
attributes["ecstat2"] = field_53 attributes["ecstat2"] = field_53
@ -1558,13 +1558,13 @@ private
end end
[ [
{ person: 2, field: :field_49 }, { person: 2, field: :field_48 },
{ person: 3, field: :field_55 }, { person: 3, field: :field_54 },
{ person: 4, field: :field_61 }, { person: 4, field: :field_60 },
{ person: 5, field: :field_67 }, { person: 5, field: :field_66 },
{ person: 6, field: :field_73 }, { person: 6, field: :field_72 },
{ person: 7, field: :field_79 }, { person: 7, field: :field_78 },
{ person: 8, field: :field_85 }, { person: 8, field: :field_84 },
].each do |hash| ].each do |hash|
define_method("age#{hash[:person]}_known?") do define_method("age#{hash[:person]}_known?") do
return 1 if public_send(hash[:field]) == "R" return 1 if public_send(hash[:field]) == "R"
@ -1577,31 +1577,31 @@ private
end end
def person_2_present? def person_2_present?
field_48.present? || field_49.present? || field_50.present? || field_51.present? || field_52.present? field_49.present? || field_48.present? || field_50.present? || field_51.present? || field_52.present?
end end
def person_3_present? def person_3_present?
field_54.present? || field_55.present? || field_56.present? || field_57.present? || field_58.present? field_55.present? || field_54.present? || field_56.present? || field_57.present? || field_58.present?
end end
def person_4_present? def person_4_present?
field_60.present? || field_61.present? || field_62.present? || field_63.present? || field_64.present? field_61.present? || field_60.present? || field_62.present? || field_63.present? || field_64.present?
end end
def person_5_present? def person_5_present?
field_66.present? || field_67.present? || field_68.present? || field_69.present? || field_70.present? field_67.present? || field_66.present? || field_68.present? || field_69.present? || field_70.present?
end end
def person_6_present? def person_6_present?
field_72.present? || field_73.present? || field_74.present? || field_75.present? || field_76.present? field_73.present? || field_72.present? || field_74.present? || field_75.present? || field_76.present?
end end
def person_7_present? def person_7_present?
field_78.present? || field_79.present? || field_80.present? || field_81.present? || field_82.present? field_79.present? || field_78.present? || field_80.present? || field_81.present? || field_82.present?
end end
def person_8_present? def person_8_present?
field_84.present? || field_85.present? || field_86.present? || field_87.present? || field_88.present? field_85.present? || field_84.present? || field_86.present? || field_87.present? || field_88.present?
end end
def leftreg def leftreg

66
spec/services/bulk_upload/lettings/year2026/row_parser_spec.rb

@ -150,13 +150,13 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
field_15: "1", field_15: "1",
field_41: "42", field_41: "42",
field_49: "41", field_48: "41",
field_55: "17", field_54: "17",
field_61: "18", field_60: "18",
field_67: "16", field_66: "16",
field_73: "14", field_72: "14",
field_79: "12", field_78: "12",
field_85: "20", field_84: "20",
field_42: "F", field_42: "F",
field_50: "M", field_50: "M",
@ -170,13 +170,13 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
field_45: "17", field_45: "17",
field_46: "826", field_46: "826",
field_48: "1", field_49: "1",
field_54: "2", field_55: "2",
field_60: "2", field_61: "2",
field_66: "3", field_67: "3",
field_72: "2", field_73: "2",
field_78: "2", field_79: "2",
field_84: "2", field_85: "2",
field_47: "1", field_47: "1",
field_53: "2", field_53: "2",
@ -1958,13 +1958,13 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
end end
end end
describe "#field_49" do # age2 describe "#field_48" do # age2
context "when null but gender given" do context "when null but gender given" do
let(:attributes) { setup_section_params.merge({ field_49: "", field_50: "F" }) } let(:attributes) { setup_section_params.merge({ field_48: "", field_50: "F" }) }
it "returns an error" do it "returns an error" do
parser.valid? parser.valid?
expect(parser.errors[:field_49]).to be_present expect(parser.errors[:field_48]).to be_present
end end
end end
end end
@ -2231,14 +2231,14 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
end end
[ [
%w[age1_known details_known_1 age1 field_41 field_48 field_50], %w[age1_known details_known_1 age1 field_41 field_49 field_50],
%w[age2_known details_known_2 age2 field_49 field_48 field_50], %w[age2_known details_known_2 age2 field_48 field_49 field_50],
%w[age3_known details_known_3 age3 field_55 field_54 field_56], %w[age3_known details_known_3 age3 field_54 field_55 field_56],
%w[age4_known details_known_4 age4 field_61 field_60 field_62], %w[age4_known details_known_4 age4 field_60 field_61 field_62],
%w[age5_known details_known_5 age5 field_67 field_66 field_68], %w[age5_known details_known_5 age5 field_66 field_67 field_68],
%w[age6_known details_known_6 age6 field_73 field_72 field_74], %w[age6_known details_known_6 age6 field_72 field_73 field_74],
%w[age7_known details_known_7 age7 field_79 field_78 field_80], %w[age7_known details_known_7 age7 field_78 field_79 field_80],
%w[age8_known details_known_8 age8 field_85 field_84 field_86], %w[age8_known details_known_8 age8 field_84 field_85 field_86],
].each do |known, details_known, age, field, relationship, gender| ].each do |known, details_known, age, field, relationship, gender|
describe "##{known} and ##{age}" do describe "##{known} and ##{age}" do
context "when #{field} is blank" do context "when #{field} is blank" do
@ -2550,13 +2550,13 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
let(:attributes) do let(:attributes) do
{ {
bulk_upload:, bulk_upload:,
field_48: "1", field_49: "1",
field_54: "2", field_55: "2",
field_60: "2", field_61: "2",
field_66: "3", field_67: "3",
field_72: "1", field_73: "1",
field_78: "2", field_79: "2",
field_84: "2", field_85: "2",
} }
end end
@ -3049,7 +3049,7 @@ RSpec.describe BulkUpload::Lettings::Year2026::RowParser do
it "does not add any housingneeds errors" do it "does not add any housingneeds errors" do
parser.valid? parser.valid?
expect(parser.errors[:field_60]).to be_blank expect(parser.errors[:field_61]).to be_blank
expect(parser.errors[:field_94]).to be_blank expect(parser.errors[:field_94]).to be_blank
expect(parser.errors[:field_95]).to be_blank expect(parser.errors[:field_95]).to be_blank
expect(parser.errors[:field_96]).to be_blank expect(parser.errors[:field_96]).to be_blank

Loading…
Cancel
Save