From 255ecf6a30ee6f5f8ef7e61aa47aa41095ecdfde Mon Sep 17 00:00:00 2001 From: Kat Date: Tue, 29 Nov 2022 09:09:19 +0000 Subject: [PATCH] Conditionally display a correct review log text --- app/helpers/tasklist_helper.rb | 8 +++++++ app/views/form/review.html.erb | 2 +- app/views/logs/edit.html.erb | 2 +- .../requests/lettings_logs_controller_spec.rb | 22 ++++++++++++++++++- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/app/helpers/tasklist_helper.rb b/app/helpers/tasklist_helper.rb index 7ab955a2e..bb75fcfff 100644 --- a/app/helpers/tasklist_helper.rb +++ b/app/helpers/tasklist_helper.rb @@ -36,4 +36,12 @@ module TasklistHelper subsection.label end end + + def review_log_text(log) + if log.form.end_date > Time.zone.today + "You can #{govuk_link_to 'review and make changes to this log', "/lettings-logs/#{log.id}/review"} until #{(log.form.end_date + 1.day).to_formatted_s(:govuk_date)}.".html_safe + else + "This log is from the #{log.form.start_date.year}/#{log.form.start_date.year + 1} collection window, which is now closed." + end + end end diff --git a/app/views/form/review.html.erb b/app/views/form/review.html.erb index 127e52762..a95b577bd 100644 --- a/app/views/form/review.html.erb +++ b/app/views/form/review.html.erb @@ -11,7 +11,7 @@ <%= content_for(:title) %>

- You can review and make changes to this log until 2nd June <%= @log.collection_start_year.present? ? @log.collection_start_year + 1 : "" %>. + <%= review_log_text(@log) %>

<% @log.form.sections.map do |section| %>

<%= section.label %>

diff --git a/app/views/logs/edit.html.erb b/app/views/logs/edit.html.erb index 52943e539..e1321143b 100644 --- a/app/views/logs/edit.html.erb +++ b/app/views/logs/edit.html.erb @@ -29,7 +29,7 @@ <%= status_tag(@log.status) %>

- You can <%= govuk_link_to "review and make changes to this log", "/lettings-logs/#{@log.id}/review" %> until 2nd June <%= @log.collection_start_year.present? ? @log.collection_start_year + 1 : "" %>. + <%= review_log_text(@log) %>

<% end %> <%= render "tasklist" %> diff --git a/spec/requests/lettings_logs_controller_spec.rb b/spec/requests/lettings_logs_controller_spec.rb index db4226152..6be967721 100644 --- a/spec/requests/lettings_logs_controller_spec.rb +++ b/spec/requests/lettings_logs_controller_spec.rb @@ -620,7 +620,7 @@ RSpec.describe LettingsLogsController, type: :request do end context "when requesting a specific lettings log" do - let(:completed_lettings_log) { FactoryBot.create(:lettings_log, :completed) } + let!(:completed_lettings_log) { FactoryBot.create(:lettings_log, :completed, owning_organisation: user.organisation, managing_organisation: user.organisation, created_by: user) } let(:id) { completed_lettings_log.id } before do @@ -672,6 +672,26 @@ RSpec.describe LettingsLogsController, type: :request do assert_select ".govuk-tag", text: /Completed/, count: 0 assert_select ".govuk-tag", text: /Cannot start yet/, count: 1 end + + it "displays a link to update the log for currently editable logs" do + completed_lettings_log.update!(startdate: Time.zone.local(2022, 4, 1), tenancylength: nil) + completed_lettings_log.reload + + get "/lettings-logs/#{completed_lettings_log.id}", headers:, params: {} + expect(completed_lettings_log.form.end_date).to eq(Time.zone.local(2023, 7, 1)) + expect(completed_lettings_log.status).to eq("completed") + expect(page).to have_link("review and make changes to this log", href: "/lettings-logs/#{completed_lettings_log.id}/review") + end + + it "displays a closed collection window message for previous collection year logs" do + completed_lettings_log.update!(startdate: Time.zone.local(2021, 4, 1)) + completed_lettings_log.reload + + get "/lettings-logs/#{completed_lettings_log.id}", headers:, params: {} + expect(completed_lettings_log.form.end_date).to eq(Time.zone.local(2022, 7, 1)) + expect(completed_lettings_log.status).to eq("completed") + expect(page).to have_content("This log is from the 2021/2022 collection window, which is now closed.") + end end context "with a lettings log with a single section complete" do