diff --git a/app/services/exports/lettings_log_export_service.rb b/app/services/exports/lettings_log_export_service.rb
index 5e67b4854..2f5e9e22d 100644
--- a/app/services/exports/lettings_log_export_service.rb
+++ b/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)
diff --git a/spec/fixtures/exports/general_needs_log_26_27.xml b/spec/fixtures/exports/general_needs_log_26_27.xml
index cc42c8f9b..71b334a4b 100644
--- a/spec/fixtures/exports/general_needs_log_26_27.xml
+++ b/spec/fixtures/exports/general_needs_log_26_27.xml
@@ -4,30 +4,38 @@
2
BZ737
35
+ F
F
2
6
0
2
32
+ M
M
6
+
+
+
+
+
+
1
diff --git a/spec/services/exports/lettings_log_export_service_spec.rb b/spec/services/exports/lettings_log_export_service_spec.rb
index 613d64dd0..5e1dff30c 100644
--- a/spec/services/exports/lettings_log_export_service_spec.rb
+++ b/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