require "rails_helper" RSpec.describe CheckAnswersHelper do let(:form) { lettings_log.form } let(:subsection) { form.get_subsection("household_characteristics") } let(:lettings_log) { FactoryBot.build(:lettings_log, :in_progress) } let(:current_user) { FactoryBot.build(:user) } around do |example| Timecop.freeze(Time.zone.local(2022, 1, 1)) do Singleton.__init__(FormHandler) example.run end end describe "display_answered_questions_summary" do context "when a section hasn't been completed yet" do it "returns that you have unanswered questions" do expect(display_answered_questions_summary(subsection, lettings_log, current_user)) .to match(/You have answered 2 of 7 questions./) end end context "when a section has been completed" do it "returns that you have answered all the questions" do lettings_log.sex1 = "F" lettings_log.hhmemb = 1 lettings_log.propcode = "123" lettings_log.ecstat1 = 200 lettings_log.ecstat2 = 9 expect(display_answered_questions_summary(subsection, lettings_log, current_user)) .to match(/You answered all the questions./) expect(display_answered_questions_summary(subsection, lettings_log, current_user)) .not_to match(/href/) end end end describe "#get_answer_label" do context "when unanswered and bulk upload" do let(:question) { log.form.questions.sample } let(:bulk_upload) { create(:bulk_upload) } let(:log) { build(:sales_log, creation_method: "bulk upload", bulk_upload:) } it "is red" do expect(get_answer_label(question, log)).to include("red") end end end end