diff --git a/lib/tasks/form_definition.rake b/lib/tasks/form_definition.rake index 8155f76e1..9e357f931 100644 --- a/lib/tasks/form_definition.rake +++ b/lib/tasks/form_definition.rake @@ -32,12 +32,12 @@ namespace :form_definition do schema = JSON.parse(file.read) meta_schema = JSON::Validator.validator_for_name("draft4").metaschema - puts path + puts path unless Rails.env.test? if JSON::Validator.validate(meta_schema, schema) - puts "Schema Definition is Valid" + puts "Schema Definition is Valid" unless Rails.env.test? else - puts "Schema Definition in #{path} is not valid against draft4 json schema." + puts "Schema Definition in #{path} is not valid against draft4 json schema." unless Rails.env.test? next end @@ -45,8 +45,8 @@ namespace :form_definition do file = File.open(path) form_definition = JSON.parse(file.read) - puts path - puts JSON::Validator.fully_validate(schema, form_definition, strict: true) + puts path unless Rails.env.test? + puts JSON::Validator.fully_validate(schema, form_definition, strict: true) unless Rails.env.test? begin JSON::Validator.validate!(schema, form_definition) diff --git a/spec/factories/case_log.rb b/spec/factories/case_log.rb index b46606279..4442b77a4 100644 --- a/spec/factories/case_log.rb +++ b/spec/factories/case_log.rb @@ -19,6 +19,13 @@ FactoryBot.define do earnings { 750 } incfreq { "Weekly" } end + trait :conditional_section_complete do + sex1 { "M" } + ethnic { 2 } + national { 4 } + ecstat1 { 2 } + other_hhmemb { 0 } + end created_at { Time.zone.now } updated_at { Time.zone.now } end diff --git a/spec/helpers/tasklist_helper_spec.rb b/spec/helpers/tasklist_helper_spec.rb index e900363f2..968f3b365 100644 --- a/spec/helpers/tasklist_helper_spec.rb +++ b/spec/helpers/tasklist_helper_spec.rb @@ -9,6 +9,7 @@ RSpec.describe TasklistHelper do describe "get subsection status" do let(:section) { "income_and_benefits" } + let(:household_characteristics_questions) { form.questions_for_subsection("household_characteristics").keys } let(:income_and_benefits_questions) { form.questions_for_subsection("income_and_benefits").keys } let(:declaration_questions) { form.questions_for_subsection("declaration").keys } let(:local_authority_questions) { form.questions_for_subsection("local_authority").keys } @@ -43,6 +44,14 @@ RSpec.describe TasklistHelper do status = get_subsection_status("declaration", completed_case_log, declaration_questions) expect(status).to eq(:not_started) end + + let(:conditional_section_complete_case_log) { FactoryBot.build(:case_log, :conditional_section_complete) } + it "sets the correct status for sections with conditional questions" do + status = get_subsection_status( + "household_characteristics", conditional_section_complete_case_log, household_characteristics_questions + ) + expect(status).to eq(:completed) + end end describe "get next incomplete section" do