Browse Source

CLDC-4141: update export services tests

pull/3156/head
Nat Dean-Lewis 2 weeks ago
parent
commit
db2faf9162
  1. 7
      app/services/exports/lettings_log_export_service.rb
  2. 8
      spec/fixtures/exports/general_needs_log_26_27.xml
  3. 4
      spec/services/exports/lettings_log_export_service_spec.rb

7
app/services/exports/lettings_log_export_service.rb

@ -131,6 +131,7 @@ module Exports
attribute_hash["age#{index}"] = -9
attribute_hash["sex#{index}"] = "R"
attribute_hash["sexrab#{index}"] = "R"
attribute_hash["relat#{index}"] = "R"
attribute_hash["ecstat#{index}"] = 10
end
@ -167,11 +168,13 @@ module Exports
details_known_prefix = "details_known_"
field_name.starts_with?(details_known_prefix) ||
pattern_age.match(field_name) ||
!EXPORT_FIELDS.include?(field_name) ||
(!EXPORT_FIELDS.include?(field_name) && !POST_2026_EXPORT_FIELDS.include?(field_name)) ||
(lettings_log.form.start_year_2024_or_later? && PRE_2024_EXPORT_FIELDS.include?(field_name)) ||
(!lettings_log.form.start_year_2024_or_later? && POST_2024_EXPORT_FIELDS.include?(field_name)) ||
(lettings_log.form.start_year_2025_or_later? && PRE_2025_EXPORT_FIELDS.include?(field_name)) ||
(lettings_log.form.start_year_2026_or_later? && PRE_2026_EXPORT_FIELDS.include?(field_name))
(lettings_log.form.start_year_2026_or_later? && PRE_2026_EXPORT_FIELDS.include?(field_name)) ||
(!lettings_log.form.start_year_2026_or_later? && POST_2026_EXPORT_FIELDS.include?(field_name))
# TODO: refactor to include rather than omit - and note that it seems POST 2024 additions have been omitted thus far...
end
def build_export_xml(lettings_logs)

8
spec/fixtures/exports/general_needs_log_26_27.xml vendored

@ -4,30 +4,38 @@
<status>2</status>
<tenancycode>BZ737</tenancycode>
<age1>35</age1>
<sexrab1>F</sexrab1>
<sex1>F</sex1>
<ethnic>2</ethnic>
<prevten>6</prevten>
<ecstat1>0</ecstat1>
<hhmemb>2</hhmemb>
<age2>32</age2>
<sexrab2>M</sexrab2>
<sex2>M</sex2>
<ecstat2>6</ecstat2>
<age3/>
<sexrab3/>
<sex3/>
<ecstat3/>
<age4/>
<sexrab4/>
<sex4/>
<ecstat4/>
<age5/>
<sexrab5/>
<sex5/>
<ecstat5/>
<age6/>
<sexrab6/>
<sex6/>
<ecstat6/>
<age7/>
<sexrab7/>
<sex7/>
<ecstat7/>
<age8/>
<sexrab8/>
<sex8/>
<ecstat8/>
<homeless>1</homeless>

4
spec/services/exports/lettings_log_export_service_spec.rb

@ -497,7 +497,7 @@ RSpec.describe Exports::LettingsLogExportService do
end
context "and one lettings log is available for export" do
let!(:lettings_log) { FactoryBot.create(:lettings_log, :completed, startdate: Time.zone.local(2026, 4, 3), assigned_to: user, age1: 35, sex1: "F", age2: 32, sex2: "M", ppostcode_full: "A1 1AA", nationality_all_group: 13, propcode: "123", postcode_full: "SE2 6RT", tenancycode: "BZ737", voiddate: Time.zone.local(2021, 11, 3), mrcdate: Time.zone.local(2022, 5, 5, 10, 36, 49), tenancylength: 5, underoccupation_benefitcap: 4, creation_method: 2, bulk_upload_id: 1, address_line1_as_entered: "address line 1 as entered", address_line2_as_entered: "address line 2 as entered", town_or_city_as_entered: "town or city as entered", county_as_entered: "county as entered", postcode_full_as_entered: "AB1 2CD", la_as_entered: "la as entered", manual_address_entry_selected: false, uprn: "1", uprn_known: 1) }
let!(:lettings_log) { FactoryBot.create(:lettings_log, :completed, startdate: Time.zone.local(2026, 4, 3), assigned_to: user, age1: 35, sexrab1: "F", sex1: "F", age2: 32, sexrab2: "M", sex2: "M", ppostcode_full: "A1 1AA", nationality_all_group: 13, propcode: "123", postcode_full: "SE2 6RT", tenancycode: "BZ737", voiddate: Time.zone.local(2021, 11, 3), mrcdate: Time.zone.local(2022, 5, 5, 10, 36, 49), tenancylength: 5, underoccupation_benefitcap: 4, creation_method: 2, bulk_upload_id: 1, address_line1_as_entered: "address line 1 as entered", address_line2_as_entered: "address line 2 as entered", town_or_city_as_entered: "town or city as entered", county_as_entered: "county as entered", postcode_full_as_entered: "AB1 2CD", la_as_entered: "la as entered", manual_address_entry_selected: false, uprn: "1", uprn_known: 1) }
let(:expected_zip_filename) { "core_2026_2027_apr_mar_f0001_inc0001.zip" }
let(:expected_data_filename) { "core_2026_2027_apr_mar_f0001_inc0001_pt001.xml" }
let(:xml_export_file) { File.open("spec/fixtures/exports/general_needs_log_26_27.xml", "r:UTF-8") }
@ -510,7 +510,7 @@ RSpec.describe Exports::LettingsLogExportService do
expect(entry.get_input_stream.read).to have_same_xml_contents_as(expected_content)
end
export_service.export_xml_lettings_logs
export_service.export_xml_lettings_logs(collection_year: 2026)
end
end
end

Loading…
Cancel
Save