Browse Source

test and linter fixes

pull/372/head
MadeTech Dushan 3 years ago committed by baarkerlounger
parent
commit
ca4c031bee
  1. 2
      app/controllers/form_controller.rb
  2. 23
      app/models/form.rb
  3. 4
      app/models/form/page.rb
  4. 5
      spec/models/form/page_spec.rb
  5. 2
      spec/requests/form_controller_spec.rb

2
app/controllers/form_controller.rb

@ -54,7 +54,7 @@ class FormController < ApplicationController
private private
def responses_for_page(page) def responses_for_page(page)
page.expected_responses.each_with_object({}) do |question, result| page.questions.each_with_object({}) do |question, result|
question_params = params["case_log"][question.id] question_params = params["case_log"][question.id]
if question.type == "date" if question.type == "date"
day = params["case_log"]["#{question.id}(3i)"] day = params["case_log"]["#{question.id}(3i)"]

23
app/models/form.rb

@ -34,19 +34,16 @@ class Form
def next_page(page, case_log) def next_page(page, case_log)
page_ids = subsection_for_page(page).pages.map(&:id) page_ids = subsection_for_page(page).pages.map(&:id)
if(page.id.include?("value_check")) page_index = page_ids.index(page.id)
question_id = page.id nxt_page = if page.id.include?("value_check")
if(case_log[page.id] == 1) if case_log[page.id] == 1
page_index = page_ids.index(page.id) get_page(page_ids[page_index - 1])
nxt_page = get_page(page_ids[page_index - 1]) else
else get_page(page_ids[page_index + 1])
page_index = page_ids.index(page.id) end
nxt_page = get_page(page_ids[page_index + 1]) else
end get_page(page_ids[page_index + 1])
else end
page_index = page_ids.index(page.id)
nxt_page = get_page(page_ids[page_index + 1])
end
return :check_answers if nxt_page.nil? return :check_answers if nxt_page.nil?
return nxt_page.id if nxt_page.routed_to?(case_log) return nxt_page.id if nxt_page.routed_to?(case_log)

4
app/models/form/page.rb

@ -14,10 +14,6 @@ class Form::Page
@subsection = subsection @subsection = subsection
end end
def expected_responses
questions
end
def routed_to?(case_log) def routed_to?(case_log)
return true unless depends_on || subsection.depends_on return true unless depends_on || subsection.depends_on

5
spec/models/form/page_spec.rb

@ -31,11 +31,6 @@ RSpec.describe Form::Page, type: :model do
expect(page.questions.map(&:id)).to eq(expected_questions) expect(page.questions.map(&:id)).to eq(expected_questions)
end end
it "has expected form responses" do
expected_responses = %w[earnings incfreq]
expect(page.expected_responses.map(&:id)).to eq(expected_responses)
end
context "with a page having conditional questions" do context "with a page having conditional questions" do
let(:page_id) { "housing_benefit" } let(:page_id) { "housing_benefit" }

2
spec/requests/form_controller_spec.rb

@ -240,7 +240,7 @@ RSpec.describe FormController, type: :request do
let(:page) { case_log.form.get_page("accessibility_requirements") } let(:page) { case_log.form.get_page("accessibility_requirements") }
it "updates both question fields" do it "updates both question fields" do
allow(page).to receive(:expected_responses).and_return(questions_for_page) allow(page).to receive(:questions).and_return(questions_for_page)
post "/logs/#{case_log.id}/form", params: case_log_form_params post "/logs/#{case_log.id}/form", params: case_log_form_params
case_log.reload case_log.reload

Loading…
Cancel
Save