Browse Source

Some linting

pull/31/head
baarkerlounger 4 years ago
parent
commit
85fb8bc484
  1. 1
      app/controllers/case_logs_controller.rb
  2. 8
      app/helpers/check_answers_helper.rb
  3. 2
      app/helpers/stimulus_controller_attribute_helper.rb
  4. 2
      config/routes.rb
  5. 16
      spec/helpers/stimulus_controller_attribute_helper_spec.rb

1
app/controllers/case_logs_controller.rb

@ -37,7 +37,6 @@ class CaseLogsController < ApplicationController
def check_answers def check_answers
@case_log = CaseLog.find(params[:case_log_id]) @case_log = CaseLog.find(params[:case_log_id])
form = Form.new(2021, 2022)
current_url = request.env["PATH_INFO"] current_url = request.env["PATH_INFO"]
subsection = current_url.split("/")[-2] subsection = current_url.split("/")[-2]
render "form/check_answers", locals: { case_log: @case_log, subsection: subsection } render "form/check_answers", locals: { case_log: @case_log, subsection: subsection }

8
app/helpers/check_answers_helper.rb

@ -12,7 +12,6 @@ module CheckAnswersHelper
def total_questions(subsection, case_log) def total_questions(subsection, case_log)
form = Form.new(2021, 2022) form = Form.new(2021, 2022)
questions = form.questions_for_subsection(subsection) questions = form.questions_for_subsection(subsection)
question_keys = questions.keys
questions_not_applicable = [] questions_not_applicable = []
questions.reject do |question_key, question| questions.reject do |question_key, question|
question.fetch("conditional_for", []).map do |conditional_question_key, condition| question.fetch("conditional_for", []).map do |conditional_question_key, condition|
@ -25,12 +24,12 @@ module CheckAnswersHelper
end end
def condition_not_met(case_log, question_key, condition) def condition_not_met(case_log, question_key, condition)
case_log[question_key].blank? || !(eval(case_log[question_key].to_s + condition)) case_log[question_key].blank? || !eval(case_log[question_key].to_s + condition)
end end
def subsection_pages(subsection) def subsection_pages(subsection)
@form ||= Form.new(2021, 2022) form = Form.new(2021, 2022)
@subsection_pages ||= @form.pages_for_subsection(subsection) form.pages_for_subsection(subsection)
end end
def create_update_answer_link(case_log_answer, case_log_id, page) def create_update_answer_link(case_log_answer, case_log_id, page)
@ -49,7 +48,6 @@ module CheckAnswersHelper
end end
def display_answered_questions_summary(subsection, case_log) def display_answered_questions_summary(subsection, case_log)
# binding.pry
if total_answered_questions(subsection, case_log) == total_number_of_questions(subsection, case_log) if total_answered_questions(subsection, case_log) == total_number_of_questions(subsection, case_log)
'<p class="govuk-body govuk-!-margin-bottom-7">You answered all the questions</p>'.html_safe '<p class="govuk-body govuk-!-margin-bottom-7">You answered all the questions</p>'.html_safe
else else

2
app/helpers/stimulus_controller_attribute_helper.rb

@ -2,7 +2,7 @@ module StimulusControllerAttributeHelper
def stimulus_html_attributes(question) def stimulus_html_attributes(question)
attribs = [ attribs = [
numeric_question_html_attributes(question), numeric_question_html_attributes(question),
conditional_html_attributes(question) conditional_html_attributes(question),
] ]
merge_controller_attributes(*attribs) merge_controller_attributes(*attribs)
end end

2
config/routes.rb

@ -3,7 +3,7 @@ Rails.application.routes.draw do
get "about", to: "about#index" get "about", to: "about#index"
get "/", to: "test#index" get "/", to: "test#index"
post '/case_logs/:id', to: "case_logs#submit_form" post "/case_logs/:id", to: "case_logs#submit_form"
form = Form.new(2021, 2022) form = Form.new(2021, 2022)
resources :case_logs do resources :case_logs do

16
spec/helpers/stimulus_controller_attribute_helper_spec.rb

@ -19,7 +19,7 @@ RSpec.describe StimulusControllerAttributeHelper do
end end
context "a question that requires multiple controllers" do context "a question that requires multiple controllers" do
let(:question) { let(:question) do
{ {
"check_answer_label" => "Basic Rent", "check_answer_label" => "Basic Rent",
"header" => "What is the basic rent?", "header" => "What is the basic rent?",
@ -27,22 +27,22 @@ RSpec.describe StimulusControllerAttributeHelper do
"type" => "numeric", "type" => "numeric",
"min" => 0, "min" => 0,
"step" => 1, "step" => 1,
"fields-to-add"=>["basic_rent", "service_charge", "personal_service_charge", "support_charge"], "fields-to-add" => %w[basic_rent service_charge personal_service_charge support_charge],
"result-field" => "total_charge", "result-field" => "total_charge",
"conditional_for" => { "conditional_for" => {
"next_question": ">1" "next_question": ">1",
},
} }
} end
} let(:expected_attribs) do
let(:expected_attribs) {
{ {
"data-controller": "numeric-question conditional-question", "data-controller": "numeric-question conditional-question",
"data-action": "numeric-question#calculateFields conditional-question#displayConditional", "data-action": "numeric-question#calculateFields conditional-question#displayConditional",
"data-target": "case-log-#{question['result-field'].to_s.dasherize}-field", "data-target": "case-log-#{question['result-field'].to_s.dasherize}-field",
"data-calculated": question["fields-to-add"].to_json, "data-calculated": question["fields-to-add"].to_json,
"data-info": question["conditional_for"].to_json "data-info": question["conditional_for"].to_json,
}
} }
end
it "correctly merges html attributes" do it "correctly merges html attributes" do
expect(stimulus_html_attributes(question)).to eq(expected_attribs) expect(stimulus_html_attributes(question)).to eq(expected_attribs)
end end

Loading…
Cancel
Save