require "rails_helper" RSpec.describe CheckAnswersHelper do let(:lettings_log) { FactoryBot.build(:lettings_log) } let(:current_user) { FactoryBot.build(:user) } let(:subsection) { instance_double(Form::Subsection, form: lettings_log.form) } let(:questions) do [ Form::Lettings::Questions::Hhmemb, Form::Lettings::Questions::Age1Known, Form::Lettings::Questions::Age1, Form::Lettings::Questions::GenderIdentity1, ].map { |q| q.new(nil, nil, instance_double(Form::Page, subsection:, routed_to?: true)) } end before do allow(subsection).to receive(:applicable_questions).and_return(questions) 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 0 of 4 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.age1_known = 1 lettings_log.age1 = 18 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