Browse Source

Unit test

pull/235/head
baarkerlounger 3 years ago
parent
commit
bacedcfa08
  1. 8
      app/models/form/page.rb
  2. 10
      spec/models/form/page_spec.rb

8
app/models/form/page.rb

@ -29,11 +29,13 @@ class Form::Page
def non_conditional_questions def non_conditional_questions
@non_conditional_questions ||= questions.reject do |q| @non_conditional_questions ||= questions.reject do |q|
conditional_questions.include?(q.id) conditional_questions_ids.include?(q.id)
end end
end end
def conditional_questions private
def conditional_questions_ids
@conditional_questions ||= questions.flat_map { |q| @conditional_questions ||= questions.flat_map { |q|
next if q.conditional_for.blank? next if q.conditional_for.blank?
@ -42,8 +44,6 @@ class Form::Page
}.compact }.compact
end end
private
def depends_on_met(case_log) def depends_on_met(case_log)
return true unless depends_on return true unless depends_on

10
spec/models/form/page_spec.rb

@ -44,6 +44,16 @@ RSpec.describe Form::Page, type: :model do
expect(subject.expected_responses.map(&:id)).to eq(expected_responses) expect(subject.expected_responses.map(&:id)).to eq(expected_responses)
end end
context "page with conditional questions" do
let(:page_id) { "housing_benefit" }
it "knows which questions are not conditional" do
expected_non_conditional_questions = %w[hb]
expect(subject.non_conditional_questions.map(&:id))
.to eq(expected_non_conditional_questions)
end
end
context "for a given case log" do context "for a given case log" do
let(:case_log) { FactoryBot.build(:case_log, :in_progress) } let(:case_log) { FactoryBot.build(:case_log, :in_progress) }

Loading…
Cancel
Save