From 50a7d0c4c9bad51898cf2724419d33f781a4ff55 Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Thu, 31 Aug 2023 15:32:44 +0100 Subject: [PATCH] feat: add correct refused options for sex and relat questions --- app/services/imports/logs_import_service.rb | 4 +- .../lettings_logs_import_service_spec.rb | 39 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/app/services/imports/logs_import_service.rb b/app/services/imports/logs_import_service.rb index c6c158089..930956f16 100644 --- a/app/services/imports/logs_import_service.rb +++ b/app/services/imports/logs_import_service.rb @@ -106,7 +106,7 @@ module Imports "F" when "Other", "Non-binary" "X" - when "Refused" + when "Refused", "Person prefers not to say", "Buyer prefers not to say" "R" end end @@ -120,7 +120,7 @@ module Imports "P" when "Other", "Non-binary" "X" - when "Refused", "Buyer prefers not to say" + when "Refused", "Person prefers not to say", "Buyer prefers not to say" "R" end end diff --git a/spec/services/imports/lettings_logs_import_service_spec.rb b/spec/services/imports/lettings_logs_import_service_spec.rb index 100e25725..1dbc682db 100644 --- a/spec/services/imports/lettings_logs_import_service_spec.rb +++ b/spec/services/imports/lettings_logs_import_service_spec.rb @@ -461,6 +461,45 @@ RSpec.describe Imports::LettingsLogsImportService do end end + context "and the gender identity is refused" do + before do + lettings_log_xml.at_xpath("//xmlns:P1Sex").content = "Person prefers not to say" + end + + it "does not raise an error" do + expect { lettings_log_service.send(:create_log, lettings_log_xml) } + .not_to raise_error + end + + it "saves the correct answer" do + lettings_log_service.send(:create_log, lettings_log_xml) + lettings_log = LettingsLog.find_by(old_id: lettings_log_id) + + expect(lettings_log).not_to be_nil + expect(lettings_log.sex1).to eq("R") + end + end + + + context "and the relationship is refused" do + before do + lettings_log_xml.at_xpath("//xmlns:P2Rel").content = "Person prefers not to say" + end + + it "does not raise an error" do + expect { lettings_log_service.send(:create_log, lettings_log_xml) } + .not_to raise_error + end + + it "saves the correct answer" do + lettings_log_service.send(:create_log, lettings_log_xml) + lettings_log = LettingsLog.find_by(old_id: lettings_log_id) + + expect(lettings_log).not_to be_nil + expect(lettings_log.relat2).to eq("R") + end + end + context "when the log being imported was manually entered" do it "sets the creation method correctly" do lettings_log_service.send(:create_log, lettings_log_xml)