From 2307a8526cdebd73aef4bdefeac75f010d4b2332 Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 28 Nov 2022 09:44:17 +0000 Subject: [PATCH] Display link in success banner and reset banner when the link is clicked --- app/controllers/lettings_logs_controller.rb | 6 +++++- spec/requests/lettings_logs_controller_spec.rb | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index 93009b68a..87892bf77 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -91,6 +91,7 @@ class LettingsLogsController < LogsController def update_logs respond_to do |format| format.html do + flash[:notice] = nil impacted_logs = current_user.lettings_logs.where(unresolved: true, created_by: current_user) @pagy, @logs = pagy(impacted_logs) @@ -116,7 +117,10 @@ private def mark_logs_resolved if @log&.unresolved == true && @log.location.present? && @log.scheme.present? && @log.update(unresolved: false) - flash[:notice] = "This log is now complete" + notice_message = "This log is now complete." + unresolved_logs_count_for_user = current_user.lettings_logs.where(unresolved: true, created_by: current_user).count + notice_message << " Update #{unresolved_logs_count_for_user} more logs" if unresolved_logs_count_for_user.positive? + flash[:notice] = notice_message.html_safe end end end diff --git a/spec/requests/lettings_logs_controller_spec.rb b/spec/requests/lettings_logs_controller_spec.rb index a9cb67e9c..dac94e60b 100644 --- a/spec/requests/lettings_logs_controller_spec.rb +++ b/spec/requests/lettings_logs_controller_spec.rb @@ -710,6 +710,7 @@ RSpec.describe LettingsLogsController, type: :request do context "when the log is unresolved" do let!(:scheme) { FactoryBot.create(:scheme, owning_organisation: user.organisation) } let!(:location) { FactoryBot.create(:location, scheme:) } + let!(:unresolved_lettings_logs) { FactoryBot.create_list(:lettings_log, 3, unresolved: true, created_by: user) } before do lettings_log.update!(needstype: 2, scheme:, location:, unresolved: true) @@ -725,6 +726,7 @@ RSpec.describe LettingsLogsController, type: :request do it "displays a success banner" do expect(page).to have_css(".govuk-notification-banner.govuk-notification-banner--success") expect(page).to have_content("This log is now complete") + expect(page).to have_link("Update 3 more logs", href: "/lettings-logs/update-logs") end end end