Browse Source

CLDC-4140: update parsers post merge

CLDC-4203-update-bulk-upload-field-numbers
Nat Dean-Lewis 2 days ago
parent
commit
7f24c985f4
  1. 2
      app/services/bulk_upload/lettings/year2026/csv_parser.rb
  2. 40
      app/services/bulk_upload/lettings/year2026/row_parser.rb
  3. 8
      spec/services/bulk_upload/lettings/year2026/csv_parser_spec.rb

2
app/services/bulk_upload/lettings/year2026/csv_parser.rb

@ -4,7 +4,7 @@ class BulkUpload::Lettings::Year2026::CsvParser
include CollectionTimeHelper include CollectionTimeHelper
# TODO: CLDC-4162: Update when 2026 format is known # TODO: CLDC-4162: Update when 2026 format is known
FIELDS = 156 FIELDS = 148
FORM_YEAR = 2026 FORM_YEAR = 2026
attr_reader :path attr_reader :path

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

@ -321,9 +321,9 @@ class BulkUpload::Lettings::Year2026::RowParser
attribute :field_144, :integer attribute :field_144, :integer
attribute :field_145, :string attribute :field_145, :string
attribute :field_154, :integer attribute :field_146, :integer
attribute :field_155, :integer attribute :field_147, :integer
attribute :field_156, :integer attribute :field_148, :integer
validate :validate_valid_radio_option, on: :before_log validate :validate_valid_radio_option, on: :before_log
@ -1032,31 +1032,31 @@ private
def field_referral_register_prp_valid? def field_referral_register_prp_valid?
if owning_organisation&.prp? if owning_organisation&.prp?
[5, 6, 7, 8, 9].include?(field_154) [5, 6, 7, 8, 9].include?(field_146)
else else
field_154.blank? field_146.blank?
end end
end end
def field_referral_noms_valid? def field_referral_noms_valid?
case field_154 case field_146
when 6 when 6
[1, 2, 3, 4].include?(field_155) [1, 2, 3, 4].include?(field_147)
when 7 when 7
[5, 6, 7, 8].include?(field_155) [5, 6, 7, 8].include?(field_147)
else else
field_155.blank? field_147.blank?
end end
end end
def field_referral_org_valid? def field_referral_org_valid?
case field_155 case field_147
when 1 when 1
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].include?(field_156) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].include?(field_148)
when 7 when 7
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20].include?(field_156) [11, 12, 13, 14, 15, 16, 17, 18, 19, 20].include?(field_148)
else else
field_156.blank? field_148.blank?
end end
end end
@ -1068,7 +1068,7 @@ private
return if renewal? return if renewal?
return if referral_fields_valid? return if referral_fields_valid?
%i[field_116 field_154 field_155 field_156].each do |field| %i[field_116 field_146 field_147 field_148].each do |field|
errors.add(field, I18n.t("#{ERROR_BASE_KEY}.referral.invalid_option")) errors.add(field, I18n.t("#{ERROR_BASE_KEY}.referral.invalid_option"))
end end
end end
@ -1185,9 +1185,9 @@ private
accessible_register: %i[field_115], accessible_register: %i[field_115],
letting_allocation: %i[field_112 field_113 field_114 field_115], letting_allocation: %i[field_112 field_113 field_114 field_115],
referral_register: %i[field_116 field_154], referral_register: %i[field_116 field_146],
referral_noms: %i[field_155], referral_noms: %i[field_147],
referral_org: %i[field_156], referral_org: %i[field_148],
net_income_known: %i[field_117], net_income_known: %i[field_117],
incfreq: %i[field_118], incfreq: %i[field_118],
@ -1795,7 +1795,7 @@ private
if owning_organisation.la? if owning_organisation.la?
field_116 field_116
else else
field_154 field_146
end end
end end
@ -1804,7 +1804,7 @@ private
return unless referral_fields_valid? return unless referral_fields_valid?
if owning_organisation.prp? if owning_organisation.prp?
field_155 field_147
end end
end end
@ -1813,7 +1813,7 @@ private
return unless referral_fields_valid? return unless referral_fields_valid?
if owning_organisation.prp? if owning_organisation.prp?
field_156 field_148
end end
end end
end end

8
spec/services/bulk_upload/lettings/year2026/csv_parser_spec.rb

@ -244,10 +244,10 @@ RSpec.describe BulkUpload::Lettings::Year2026::CsvParser do
end end
it "returns correct column" do it "returns correct column" do
expect(service.column_for_field("field_5")).to eql("AI") expect(service.column_for_field("field_5")).to eql("AA")
expect(service.column_for_field("field_22")).to eql("BR") expect(service.column_for_field("field_22")).to eql("BK")
expect(service.column_for_field("field_26")).to eql("CG") expect(service.column_for_field("field_26")).to eql("BZ")
expect(service.column_for_field("field_25")).to eql("E") expect(service.column_for_field("field_25")).to eql("S")
end end
end end
end end

Loading…
Cancel
Save