diff --git a/app/controllers/test_data_controller.rb b/app/controllers/test_data_controller.rb index 99b92fc75..3959019a6 100644 --- a/app/controllers/test_data_controller.rb +++ b/app/controllers/test_data_controller.rb @@ -35,6 +35,8 @@ class TestDataController < ApplicationController end end + def create_2025_test_sales_bulk_upload; end + def create_test_sales_log return render_not_found unless FeatureToggle.create_test_logs_enabled? diff --git a/app/helpers/bulk_upload/lettings_log_to_csv.rb b/app/helpers/bulk_upload/lettings_log_to_csv.rb index 11c180f3e..9fa4e9dba 100644 --- a/app/helpers/bulk_upload/lettings_log_to_csv.rb +++ b/app/helpers/bulk_upload/lettings_log_to_csv.rb @@ -16,66 +16,30 @@ class BulkUpload::LettingsLogToCsv def to_csv_row(seed: nil) year = log.collection_start_year - case year - when 2022 - to_2022_csv_row(seed:) - when 2023 - to_2023_csv_row(seed:) - when 2024 - to_2024_csv_row(seed:) - when 2025 - to_2025_csv_row(seed:) - else - raise NotImplementedError "No mapping function implemented for year #{year}" - end + send("to_#{year}_csv_row", seed:) + rescue NoMethodError + raise NotImplementedError, "No mapping function implemented for year #{year}" end def to_row year = log.collection_start_year - case year - when 2022 - to_2022_row - when 2023 - to_2023_row - when 2024 - to_2024_row - when 2025 - to_2025_row - else - raise NotImplementedError "No mapping function implemented for year #{year}" - end + send("to_#{year}_row") + rescue NoMethodError + raise NotImplementedError "No mapping function implemented for year #{year}" end def default_field_numbers_row(seed: nil) year = log.collection_start_year - case year - when 2022 - default_2022_field_numbers_row(seed:) - when 2023 - default_2023_field_numbers_row(seed:) - when 2024 - default_2024_field_numbers_row(seed:) - when 2025 - default_2025_field_numbers_row(seed:) - else - raise NotImplementedError "No mapping function implemented for year #{year}" - end + send("default_#{year}_field_numbers_row", seed:) + rescue NoMethodError + raise NotImplementedError "No mapping function implemented for year #{year}" end def default_field_numbers year = log.collection_start_year - case year - when 2022 - default_2022_field_numbers - when 2023 - default_2023_field_numbers - when 2024 - default_2024_field_numbers - when 2025 - default_2025_field_numbers - else - raise NotImplementedError "No mapping function implemented for year #{year}" - end + send("default_#{year}_field_numbers") + rescue NoMethodError + raise NotImplementedError "No mapping function implemented for year #{year}" end def to_2022_csv_row(seed: nil) @@ -192,18 +156,18 @@ class BulkUpload::LettingsLogToCsv log.tenancycode, log.propcode, log.declaration, - log.unittype_gn, + log.rsnvac, log.unitletas, log.uprn, log.address_line1&.tr(",", " "), log.address_line2&.tr(",", " "), # 20 + log.town_or_city&.tr(",", " "), log.county&.tr(",", " "), - ((log.postcode_full || "").split(" ") || [""]).first, ((log.postcode_full || "").split(" ") || [""]).last, log.la, - log.rsnvac, + log.unittype_gn, log.builtype, log.wchair, log.beds, @@ -226,34 +190,34 @@ class BulkUpload::LettingsLogToCsv log.ethnic, log.nationality_all_group, log.ecstat1, - log.relat2, + relat_number(log.relat2), log.age2 || overrides[:age2], log.sex2, log.ecstat2, # 50 - log.relat3, + relat_number(log.relat3), log.age3 || overrides[:age3], log.sex3, log.ecstat3, - log.relat4, + relat_number(log.relat4), log.age4 || overrides[:age4], log.sex4, log.ecstat4, - log.relat5, + relat_number(log.relat5), log.age5 || overrides[:age5], # 60 log.sex5, log.ecstat5, - log.relat6, + relat_number(log.relat6), log.age6 || overrides[:age6], log.sex6, log.ecstat6, - log.relat7, + relat_number(log.relat7), log.age7 || overrides[:age7], log.sex7, log.ecstat7, # 70 - log.relat8, + relat_number(log.relat8), log.age8 || overrides[:age8], log.sex8, log.ecstat8, @@ -726,4 +690,15 @@ private log.hhregres end end + + def relat_number(value) + case value + when "P" + 1 + when "R" + 3 + when "C", "X" + 2 + end + end end diff --git a/config/routes.rb b/config/routes.rb index 074a161b1..471c89578 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -404,5 +404,6 @@ Rails.application.routes.draw do get "create-test-sales-log", to: "test_data#create_test_sales_log" get "create-setup-test-sales-log", to: "test_data#create_setup_test_sales_log" get "create-2024-test-sales-bulk-upload", to: "test_data#create_2024_test_sales_bulk_upload" + get "create-2025-test-sales-bulk-upload", to: "test_data#create_2025_test_sales_bulk_upload" end end