From 39f32a88f84f7fc4e8ef775fac56e46e1a0a4041 Mon Sep 17 00:00:00 2001 From: Kat Date: Tue, 25 Jul 2023 15:25:47 +0100 Subject: [PATCH] Check that bulk upload is present --- .../check_answers_summary_list_card_component.rb | 2 +- app/helpers/check_answers_helper.rb | 2 +- app/helpers/log_actions_helper.rb | 2 +- ...heck_answers_summary_list_card_component_spec.rb | 13 ++++++++++++- spec/views/logs/edit.html.erb_spec.rb | 12 ++++++++++++ 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/app/components/check_answers_summary_list_card_component.rb b/app/components/check_answers_summary_list_card_component.rb index d4e7650de..650a7d8a3 100644 --- a/app/components/check_answers_summary_list_card_component.rb +++ b/app/components/check_answers_summary_list_card_component.rb @@ -35,7 +35,7 @@ class CheckAnswersSummaryListCardComponent < ViewComponent::Base private def unanswered_value - if log.creation_method_bulk_upload? + if log.creation_method_bulk_upload? && log.bulk_upload.present? "You still need to answer this question".html_safe else "You didn’t answer this question".html_safe diff --git a/app/helpers/check_answers_helper.rb b/app/helpers/check_answers_helper.rb index d235dbc6f..ed07f3b56 100644 --- a/app/helpers/check_answers_helper.rb +++ b/app/helpers/check_answers_helper.rb @@ -54,7 +54,7 @@ private end def unanswered_value(log:) - if log.creation_method_bulk_upload? + if log.creation_method_bulk_upload? && log.bulk_upload.present? "You still need to answer this question".html_safe else "You didn’t answer this question".html_safe diff --git a/app/helpers/log_actions_helper.rb b/app/helpers/log_actions_helper.rb index d6949e0cb..b0f950a5e 100644 --- a/app/helpers/log_actions_helper.rb +++ b/app/helpers/log_actions_helper.rb @@ -16,7 +16,7 @@ private def back_button_for(log) if log.completed? - if log.creation_method_bulk_upload? + if log.creation_method_bulk_upload? && log.bulk_upload.present? if log.lettings? govuk_button_link_to "Back to uploaded logs", resume_bulk_upload_lettings_result_path(log.bulk_upload) else diff --git a/spec/components/check_answers_summary_list_card_component_spec.rb b/spec/components/check_answers_summary_list_card_component_spec.rb index 3dcafe104..63af2cf84 100644 --- a/spec/components/check_answers_summary_list_card_component_spec.rb +++ b/spec/components/check_answers_summary_list_card_component_spec.rb @@ -40,13 +40,24 @@ RSpec.describe CheckAnswersSummaryListCardComponent, type: :component do context "when log was created via a bulk upload and has an unanswered question" do subject(:component) { described_class.new(questions:, log:, user:) } - let(:log) { build(:lettings_log, :in_progress, creation_method: "bulk upload", age2: 99, startdate: Time.zone.local(2021, 5, 1)) } + let(:bulk_upload) { create(:bulk_upload) } + let(:log) { build(:lettings_log, :in_progress, creation_method: "bulk upload", age2: 99, startdate: Time.zone.local(2021, 5, 1), bulk_upload:) } it "displays tweaked copy in red" do expect(rendered).to have_selector("span", class: "app-!-colour-red", text: "You still need to answer this question") end end + context "when log was imported with a bulk upload creation method, without bulk upload id and has an unanswered question" do + subject(:component) { described_class.new(questions:, log:, user:) } + + let(:log) { build(:lettings_log, :in_progress, creation_method: "bulk upload", age2: 99, startdate: Time.zone.local(2021, 5, 1), bulk_upload_id: nil) } + + it "displays tweaked copy in red" do + expect(rendered).not_to have_selector("span", class: "app-!-colour-red", text: "You still need to answer this question") + end + end + context "when log was not created via a bulk upload and has an unanswered question" do subject(:component) { described_class.new(questions:, log:, user:) } diff --git a/spec/views/logs/edit.html.erb_spec.rb b/spec/views/logs/edit.html.erb_spec.rb index e28e0bc4b..9a511c32f 100644 --- a/spec/views/logs/edit.html.erb_spec.rb +++ b/spec/views/logs/edit.html.erb_spec.rb @@ -88,6 +88,18 @@ RSpec.describe "logs/edit.html.erb" do end end + context "when lettings log is bulk uploaded without a bulk upload id" do + let(:log) { create(:lettings_log, :completed, bulk_upload: nil, creation_method: "bulk upload") } + + it "does not have link 'Back to uploaded logs'" do + render + + fragment = Capybara::Node::Simple.new(rendered) + + expect(fragment).not_to have_link(text: "Back to uploaded logs") + end + end + context "when sales log is bulk uploaded" do let(:bulk_upload) { create(:bulk_upload, :sales) } let(:log) { create(:sales_log, :completed, bulk_upload:, creation_method: "bulk upload") }