Browse Source

Conditionally display a correct review log text

pull/1044/head
Kat 4 years ago
parent
commit
255ecf6a30
  1. 8
      app/helpers/tasklist_helper.rb
  2. 2
      app/views/form/review.html.erb
  3. 2
      app/views/logs/edit.html.erb
  4. 22
      spec/requests/lettings_logs_controller_spec.rb

8
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

2
app/views/form/review.html.erb

@ -11,7 +11,7 @@
<%= content_for(:title) %>
</h1>
<p class="govuk-body">
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) %>
</p>
<% @log.form.sections.map do |section| %>
<h2 class="govuk-heading-m"><%= section.label %></h2>

2
app/views/logs/edit.html.erb

@ -29,7 +29,7 @@
<%= status_tag(@log.status) %>
</p>
<p class="govuk-body">
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) %>
</p>
<% end %>
<%= render "tasklist" %>

22
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

Loading…
Cancel
Save