Browse Source

test and linter fixes

pull/338/head
MadeTech Dushan 3 years ago
parent
commit
ee778b58b9
  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
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]
if question.type == "date"
day = params["case_log"]["#{question.id}(3i)"]

23
app/models/form.rb

@ -34,19 +34,16 @@ class Form
def next_page(page, case_log)
page_ids = subsection_for_page(page).pages.map(&:id)
if(page.id.include?("value_check"))
question_id = page.id
if(case_log[page.id] == 1)
page_index = page_ids.index(page.id)
nxt_page = get_page(page_ids[page_index - 1])
else
page_index = page_ids.index(page.id)
nxt_page = get_page(page_ids[page_index + 1])
end
else
page_index = page_ids.index(page.id)
nxt_page = get_page(page_ids[page_index + 1])
end
page_index = page_ids.index(page.id)
nxt_page = if page.id.include?("value_check")
if case_log[page.id] == 1
get_page(page_ids[page_index - 1])
else
get_page(page_ids[page_index + 1])
end
else
get_page(page_ids[page_index + 1])
end
return :check_answers if nxt_page.nil?
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
end
def expected_responses
questions
end
def routed_to?(case_log)
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)
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
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") }
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
case_log.reload

Loading…
Cancel
Save