diff --git a/app/controllers/form_controller.rb b/app/controllers/form_controller.rb index ed7e8ba58..d84f8642a 100644 --- a/app/controllers/form_controller.rb +++ b/app/controllers/form_controller.rb @@ -418,6 +418,7 @@ private responses_for_page = responses_for_page(@page) @log.assign_attributes(responses_for_page) @log.valid? + @log.reload error_attributes = @log.errors.map(&:attribute) @questions = @log.form.questions.select { |q| error_attributes.include?(q.id.to_sym) } end diff --git a/spec/requests/check_errors_controller_spec.rb b/spec/requests/check_errors_controller_spec.rb index f0f1887aa..a59ebde45 100644 --- a/spec/requests/check_errors_controller_spec.rb +++ b/spec/requests/check_errors_controller_spec.rb @@ -52,14 +52,14 @@ RSpec.describe CheckErrorsController, type: :request do end before do - lettings_log.update!(needstype: 1, declaration: 1, ecstat1: 10, hhmemb: 2, net_income_known: 0, incfreq: 1, earnings: 1000) + lettings_log.update!(needstype: 1, declaration: 1, ecstat1: 10, hhmemb: 2, net_income_known: 0, incfreq: nil, earnings: nil) sign_in user post "/lettings-logs/#{lettings_log.id}/income-amount", params: params end it "displays correct clear links" do - expect(page).to have_selector("input[type=submit][value='Clear']", count: 3) - expect(page).to have_button("Clear all") + expect(page).to have_selector("input[type=submit][value='Clear']", count: 2) + expect(page).to have_link("Clear all", href: "/lettings-logs/#{lettings_log.id}/confirm-clear-all-answers") end end