Browse Source

mark logs resolved after the user leaves check answers page

pull/1035/head
Kat 4 years ago
parent
commit
5107c658cb
  1. 7
      app/controllers/lettings_logs_controller.rb
  2. 2
      app/models/derived_variables/lettings_log_variables.rb
  3. 17
      spec/models/lettings_log_spec.rb
  4. 21
      spec/requests/lettings_logs_controller_spec.rb

7
app/controllers/lettings_logs_controller.rb

@ -37,6 +37,7 @@ class LettingsLogsController < LogsController
def show def show
respond_to do |format| respond_to do |format|
# We don't have a dedicated non-editable show view # We don't have a dedicated non-editable show view
mark_logs_resolved
format.html { edit } format.html { edit }
format.json do format.json do
if @log if @log
@ -112,4 +113,10 @@ private
def post_create_redirect_url(log) def post_create_redirect_url(log)
lettings_log_url(log) lettings_log_url(log)
end end
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"
end
end
end end

2
app/models/derived_variables/lettings_log_variables.rb

@ -65,8 +65,6 @@ module DerivedVariables::LettingsLogVariables
self.voiddate = startdate if is_renewal? self.voiddate = startdate if is_renewal?
self.vacdays = property_vacant_days self.vacdays = property_vacant_days
self.unresolved = false if unresolved == true && location.present? && scheme.present?
set_housingneeds_fields if housingneeds? set_housingneeds_fields if housingneeds?
end end

17
spec/models/lettings_log_spec.rb

@ -1841,23 +1841,6 @@ RSpec.describe LettingsLog do
expect(lettings_log["housingneeds_g"]).to eq(1) expect(lettings_log["housingneeds_g"]).to eq(1)
end end
end end
context "when updating a log affected by deactivation" do
let(:scheme) { FactoryBot.create(:scheme, owning_organisation: lettings_log.owning_organisation) }
let(:location) { FactoryBot.create(:location, scheme:) }
before do
lettings_log.update!({ needstype: 2, location: nil, scheme: nil, unresolved: true })
lettings_log.reload
end
it "sets unresolved to false if scheme and location have been provided" do
lettings_log.update!({ location:, scheme: })
record_from_db = ActiveRecord::Base.connection.execute("select unresolved from lettings_logs where id=#{lettings_log.id}").to_a[0]
expect(record_from_db["unresolved"]).to eq(false)
expect(lettings_log["unresolved"]).to eq(false)
end
end
end end
describe "optional fields" do describe "optional fields" do

21
spec/requests/lettings_logs_controller_spec.rb

@ -706,6 +706,27 @@ RSpec.describe LettingsLogsController, type: :request do
expect(response).to have_http_status(:not_found) expect(response).to have_http_status(:not_found)
end end
end end
context "when the log is unresolved" do
let!(:scheme) { FactoryBot.create(:scheme, owning_organisation: user.organisation) }
let!(:location) { FactoryBot.create(:location, scheme:) }
before do
lettings_log.update!(needstype: 2, scheme:, location:, unresolved: true)
sign_in user
get "/lettings-logs/#{lettings_log.id}", headers:, params: {}
end
it "marks it as resolved when both scheme and location exist" do
lettings_log.reload
expect(lettings_log.unresolved).to eq(false)
end
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")
end
end
end end
end end
end end

Loading…
Cancel
Save