From 438890767286af65ff1e8efed31b6436660fa9b8 Mon Sep 17 00:00:00 2001 From: Phil Lee Date: Thu, 5 Jan 2023 15:54:33 +0000 Subject: [PATCH] pending tests for field_4 --- app/models/form_handler.rb | 10 +++++++++- app/services/bulk_upload/lettings/row_parser.rb | 10 ++++++++++ .../bulk_upload/lettings/row_parser_spec.rb | 16 ++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/app/models/form_handler.rb b/app/models/form_handler.rb index 1afa1d15f..c2f2fd40f 100644 --- a/app/models/form_handler.rb +++ b/app/models/form_handler.rb @@ -78,6 +78,14 @@ class FormHandler forms.count { |form| form.start_date < now && now < form.end_date } > 1 end + def use_fake_forms! + @directories = ["spec/fixtures/forms"] + end + + def use_real_forms! + @directories = ["config/forms"] + end + private def get_all_forms @@ -85,6 +93,6 @@ private end def directories - Rails.env.test? ? ["spec/fixtures/forms"] : ["config/forms"] + @directories ||= Rails.env.test? ? ["spec/fixtures/forms"] : ["config/forms"] end end diff --git a/app/services/bulk_upload/lettings/row_parser.rb b/app/services/bulk_upload/lettings/row_parser.rb index a84e38a26..bdcdb696f 100644 --- a/app/services/bulk_upload/lettings/row_parser.rb +++ b/app/services/bulk_upload/lettings/row_parser.rb @@ -165,6 +165,10 @@ class BulkUpload::Lettings::RowParser end end + def questions + log.form.subsections.flat_map { |ss| ss.applicable_questions(log) } + end + private def log @@ -190,6 +194,12 @@ private attributes[k] = public_send(v) end + hash[:scheme] = scheme + attributes end + + def scheme + @scheme ||= Scheme.find_by(old_visible_id: field_4) + end end diff --git a/spec/services/bulk_upload/lettings/row_parser_spec.rb b/spec/services/bulk_upload/lettings/row_parser_spec.rb index 265411f55..b32f755b7 100644 --- a/spec/services/bulk_upload/lettings/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/row_parser_spec.rb @@ -5,6 +5,14 @@ RSpec.describe BulkUpload::Lettings::RowParser do let(:attributes) { {} } + around do |example| + FormHandler.instance.use_real_forms! + + example.run + + FormHandler.instance.use_fake_forms! + end + describe "validations" do before do parser.valid? @@ -70,6 +78,14 @@ RSpec.describe BulkUpload::Lettings::RowParser do expect(parser.errors[:field_4]).to be_present end end + + context "when matching scheme cannot be found" do + let(:attributes) { { field_1: "1", field_4: "123" } } + + xit "returns an error" do + expect(parser.errors[:field_4]).to be_present + end + end end describe "#field_134" do