require "rails_helper" RSpec.describe ApplicationHelper do form_handler = FormHandler.instance let(:form) { form_handler.get_form("test_form") } let(:subsection) { form.get_subsection("household_characteristics") } let(:case_log) { FactoryBot.build(:case_log, :in_progress) } let(:pagy) { nil } let(:current_user) { FactoryBot.create(:user) } describe "govuk_header_classes" do context "with external user" do it "shows the standard app header" do expect(govuk_header_classes(current_user)).to eq("app-header") end end context "with internal support user" do let(:current_user) { FactoryBot.create(:user, :support) } it "shows an orange header" do expect(govuk_header_classes(current_user)).to eq("app-header app-header--orange") end end end describe "govuk_phase_banner_tag" do context "with external user" do it "shows the standard phase tag" do expect(govuk_phase_banner_tag(current_user)).to eq({ text: "Beta" }) end end context "with support user" do let(:current_user) { FactoryBot.create(:user, :support) } it "shows an orange phase tag" do expect(govuk_phase_banner_tag(current_user)).to eq({ colour: "orange", text: "Support beta", }) end end end describe "browser_title" do context "with no pagination" do it "returns correct browser title when title is given" do expect(browser_title("title", pagy)) .to eq("title - #{t('service_name')} - GOV.UK") end it "returns correct browser title when title is not given" do expect(browser_title(nil, pagy)) .to eq("#{t('service_name')} - GOV.UK") end end context "with pagination" do let(:pagy) { OpenStruct.new(page: 1, pages: 2) } it "returns correct browser title when title is given" do expect(browser_title("title", pagy)) .to eq("title (page 1 of 2) - #{t('service_name')} - GOV.UK") end it "returns correct browser title when title is not given" do expect(browser_title(nil, pagy)) .to eq("#{t('service_name')} - GOV.UK") end end end end