require "rails_helper" RSpec.describe OrganisationsController, type: :request do let(:user) { FactoryBot.create(:user) } let(:organisation) { user.organisation } let(:headers) { { "Accept" => "text/html" } } context "details tab" do before do sign_in user get "/organisations/#{organisation.id}", headers: headers, params: {} end it "shows the tab navigation" do expected_html = "<nav class=\"app-tab-navigation\"" expect(response.body).to include(expected_html) end it "shows a summary list of org details" do expected_html = "<dl class=\"govuk-summary-list\"" expect(response.body).to include(expected_html) expect(response.body).to include(organisation.name) end it "has a hidden header title" do expected_html = "<h2 class=\"govuk-visually-hidden\"> Details" expect(response.body).to include(expected_html) end end context "users tab" do before do sign_in user get "/organisations/#{organisation.id}/users", headers: headers, params: {} end it "shows the tab navigation" do expected_html = "<nav class=\"app-tab-navigation\"" expect(response.body).to include(expected_html) end it "shows a new user button" do expected_html = "<a class=\"govuk-button\"" expect(response.body).to include(expected_html) expect(response.body).to include("Invite user") end it "shows a table of users" do expected_html = "<table class=\"govuk-table\"" expect(response.body).to include(expected_html) expect(response.body).to include(user.email) end it "has a hidden header title" do expected_html = "<h2 class=\"govuk-visually-hidden\"> Users" expect(response.body).to include(expected_html) end end end