From f9db1331603eb4c540b4b4ebc4460491b69dfedd Mon Sep 17 00:00:00 2001 From: JG Date: Thu, 9 Jun 2022 11:27:05 +0100 Subject: [PATCH] testing subset of schemes for coordinator user --- app/views/schemes/index.html.erb | 2 +- spec/requests/schemes_controller_spec.rb | 27 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/views/schemes/index.html.erb b/app/views/schemes/index.html.erb index eeb58dcca..656594def 100644 --- a/app/views/schemes/index.html.erb +++ b/app/views/schemes/index.html.erb @@ -1,4 +1,4 @@ -<%= render partial: "organisations/headings", locals: { main: "Supported housing services", sub: nil } %> +<%= render partial: "organisations/headings", locals: current_user.support? ? { main: "Supported housing services", sub: nil } : { main: "Supported housing services", sub: current_user.organisation.name } %> <%= render SearchComponent.new(current_user:, search_label: "Search by service name or code", value: @searched) %> diff --git a/spec/requests/schemes_controller_spec.rb b/spec/requests/schemes_controller_spec.rb index e61ef64e0..893ddc7eb 100644 --- a/spec/requests/schemes_controller_spec.rb +++ b/spec/requests/schemes_controller_spec.rb @@ -4,7 +4,7 @@ RSpec.describe SchemesController, type: :request do let(:organisation) { user.organisation } let(:headers) { { "Accept" => "text/html" } } let(:page) { Capybara::Node::Simple.new(response.body) } - let(:user) { FactoryBot.create(:user, :data_coordinator) } + let(:user) { FactoryBot.create(:user, :support) } let!(:schemes) { FactoryBot.create_list(:scheme, 5) } describe "#index" do @@ -36,5 +36,30 @@ RSpec.describe SchemesController, type: :request do expect(page).to have_field("search", type: "search") end end + + context "when signed in as a data coordinator user" do + let(:user) { FactoryBot.create(:user, :data_coordinator) } + let!(:same_org_scheme) { FactoryBot.create(:scheme, organisation: user.organisation) } + + before do + sign_in user + get "/supported-housing" + end + + it "has page heading" do + expect(page).to have_content("Supported housing services") + end + + it "shows only schemes belonging to the same organisation" do + expect(page).to have_content(same_org_scheme.code) + schemes.each do |scheme| + expect(page).not_to have_content(scheme.code) + end + end + + it "shows a search bar" do + expect(page).to have_field("search", type: "search") + end + end end end