require "rails_helper" RSpec.describe Form::Setup::Pages::Organisation, type: :model do subject(:page) { described_class.new(page_id, page_definition, subsection) } let(:page_id) { nil } let(:page_definition) { nil } let(:subsection) { instance_double(Form::Subsection) } let(:form) { instance_double(Form) } let(:case_log) { instance_double(CaseLog) } it "has correct subsection" do expect(page.subsection).to eq(subsection) end it "has correct questions" do expect(page.questions.map(&:id)).to eq(%w[owning_organisation_id]) end it "has the correct id" do expect(page.id).to eq("organisation") end it "has the correct header" do expect(page.header).to eq("") end it "has the correct description" do expect(page.description).to eq("") end it "has the correct depends_on" do expect(page.depends_on).to be nil end it "has the correct derived" do expect(page.derived).to be nil end context "when the current user is a support user" do let(:support_user) { FactoryBot.build(:user, :support) } before do allow(subsection).to receive(:form).and_return(form) allow(form).to receive(:current_user).and_return(support_user) end it "is shown" do expect(page.routed_to?(case_log)).to be true end end context "when the current user is not a support user" do let(:user) { FactoryBot.build(:user) } before do allow(subsection).to receive(:form).and_return(form) allow(form).to receive(:current_user).and_return(user) end it "is not shown" do expect(page.routed_to?(case_log)).to be false end end end