From 4a894d847162f1fe7e63be18785c94d10d928304 Mon Sep 17 00:00:00 2001 From: Samuel Young Date: Mon, 2 Feb 2026 17:42:00 +0000 Subject: [PATCH] CLDC-4191: Add new referral fields to 2026 exports remove old referral fields from 2026 exports ensure new referral fields don't show in pre 2026 exports --- .../exports/lettings_log_export_constants.rb | 13 ++++++++++++- app/services/exports/lettings_log_export_service.rb | 3 ++- spec/fixtures/exports/general_needs_log_26_27.xml | 4 +++- .../exports/lettings_log_export_service_spec.rb | 3 +-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/services/exports/lettings_log_export_constants.rb b/app/services/exports/lettings_log_export_constants.rb index 1698fb0a1..9358881da 100644 --- a/app/services/exports/lettings_log_export_constants.rb +++ b/app/services/exports/lettings_log_export_constants.rb @@ -82,6 +82,9 @@ module Exports::LettingsLogExportConstants "reasonother", "reasonpref", "referral", + "referral_register", + "referral_noms", + "referral_org", "refused", "reghome", "renttype", @@ -201,6 +204,14 @@ module Exports::LettingsLogExportConstants ] PRE_2026_EXPORT_FIELDS = Set[ - "builtype" + "builtype", + "referral", + "referral_type", + ] + + POST_2026_EXPORT_FIELDS = Set[ + "referral_register", + "referral_noms", + "referral_org", ] end diff --git a/app/services/exports/lettings_log_export_service.rb b/app/services/exports/lettings_log_export_service.rb index 5e67b4854..2467bd8a6 100644 --- a/app/services/exports/lettings_log_export_service.rb +++ b/app/services/exports/lettings_log_export_service.rb @@ -171,7 +171,8 @@ module Exports (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)) end def build_export_xml(lettings_logs) diff --git a/spec/fixtures/exports/general_needs_log_26_27.xml b/spec/fixtures/exports/general_needs_log_26_27.xml index cc42c8f9b..7f2ab9382 100644 --- a/spec/fixtures/exports/general_needs_log_26_27.xml +++ b/spec/fixtures/exports/general_needs_log_26_27.xml @@ -99,7 +99,9 @@ 0 2 - 2 + 1 + + 200.0 50.0 40.0 diff --git a/spec/services/exports/lettings_log_export_service_spec.rb b/spec/services/exports/lettings_log_export_service_spec.rb index c39f0d515..613d64dd0 100644 --- a/spec/services/exports/lettings_log_export_service_spec.rb +++ b/spec/services/exports/lettings_log_export_service_spec.rb @@ -502,8 +502,7 @@ RSpec.describe Exports::LettingsLogExportService do 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") } - # TODO: CLDC-4191 Reinstate this test when we update log export - xit "generates an XML export file with the expected content within the ZIP file" do + it "generates an XML export file with the expected content within the ZIP file" do expected_content = replace_entity_ids(lettings_log, xml_export_file.read) expect(storage_service).to receive(:write_file).with(expected_zip_filename, any_args) do |_, content| entry = Zip::File.open_buffer(content).find_entry(expected_data_filename)