Browse Source

Keep check errors query params

pull/2480/head
Kat 2 years ago
parent
commit
7082caad8d
  1. 5
      app/controllers/form_controller.rb
  2. 55
      spec/requests/check_errors_controller_spec.rb

5
app/controllers/form_controller.rb

@ -232,6 +232,11 @@ private
return send("#{@log.class.name.underscore}_#{params[@log.model_name.param_key]['original_page_id']}_path", @log, { check_errors: true, related_question_ids: params[@log.model_name.param_key]["related_question_ids"].split(" ") }.compact) return send("#{@log.class.name.underscore}_#{params[@log.model_name.param_key]['original_page_id']}_path", @log, { check_errors: true, related_question_ids: params[@log.model_name.param_key]["related_question_ids"].split(" ") }.compact)
end end
if params["referrer"] == "check_errors"
@page = form.get_page(params[@log.model_name.param_key]["page"])
return send("#{@log.class.name.underscore}_#{params['original_page_id']}_path", @log, { check_errors: true, related_question_ids: params["related_question_ids"] }.compact)
end
is_new_answer_from_check_answers = is_referrer_type?("check_answers_new_answer") is_new_answer_from_check_answers = is_referrer_type?("check_answers_new_answer")
redirect_path = form.next_page_redirect_path(@page, @log, current_user, ignore_answered: is_new_answer_from_check_answers) redirect_path = form.next_page_redirect_path(@page, @log, current_user, ignore_answered: is_new_answer_from_check_answers)
referrer = is_new_answer_from_check_answers ? "check_answers_new_answer" : nil referrer = is_new_answer_from_check_answers ? "check_answers_new_answer" : nil

55
spec/requests/check_errors_controller_spec.rb

@ -268,4 +268,59 @@ RSpec.describe CheckErrorsController, type: :request do
end end
end end
end end
describe "answer incomplete question" do
context "when user is signed in" do
context "and answering specific lettings question" do
let(:params) do
{
original_page_id: "income_amount",
referrer: "check_errors",
related_question_ids: %w[hhmemb ecstat1 earnings],
lettings_log: {
page: "household_members",
hhmemb: "2",
},
}
end
before do
sign_in user
post "/lettings-logs/#{lettings_log.id}/household-members", params:
end
it "maintains original check_errors data in query params" do
follow_redirect!
expect(request.query_parameters["check_errors"]).to eq("true")
expect(request.query_parameters["related_question_ids"]).to eq(%w[hhmemb ecstat1 earnings])
end
end
context "and answering specific sales question" do
let(:params) do
{
original_page_id: "buyer_1_income",
referrer: "check_errors",
related_question_ids: %w[income1 la ownershipsch],
sales_log: {
page: "buyer_1_income",
income1: "1000",
income1nk: "0",
},
}
end
before do
sign_in user
post "/sales-logs/#{sales_log.id}/buyer-1-income", params:
end
it "maintains original check_errors data in query params" do
follow_redirect!
expect(request.query_parameters["check_errors"]).to eq("true")
expect(request.query_parameters["related_question_ids"]).to eq(%w[income1 la ownershipsch])
end
end
end
end
end end

Loading…
Cancel
Save