Submit social housing lettings and sales data (CORE)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

85 lines
2.6 KiB

require "rails_helper"
RSpec.describe MaintenanceController, type: :request do
let(:page) { Capybara::Node::Simple.new(response.body) }
let(:user) { FactoryBot.create(:user) }
before do
sign_in user
end
describe "when maintenance mode is enabled" do
before do
allow(FeatureToggle).to receive(:maintenance_mode_enabled?).and_return(true)
end
context "when a user visits a page other than the maintenance page" do
before do
get "/lettings-logs"
end
it "redirects the user to the maintenance page" do
expect(response).to redirect_to(service_unavailable_path)
follow_redirect!
expect(page).to have_content("Sorry, the service is unavailable")
end
it "the cookie banner is visible" do
follow_redirect!
expect(page).to have_content("We’d like to use analytics cookies so we can understand how you use the service and make improvements.")
end
end
context "when a user visits the maintenance page" do
before do
get "/service-unavailable"
end
it "keeps the user on the maintenance page" do
expect(response).not_to redirect_to(service_unavailable_path)
expect(page).to have_content("Sorry, the service is unavailable")
end
it "the cookie banner is visible" do
expect(page).to have_content("We’d like to use analytics cookies so we can understand how you use the service and make improvements.")
end
end
end
describe "when maintenance mode is disabled" do
before do
allow(FeatureToggle).to receive(:maintenance_mode_enabled?).and_return(false)
end
context "when a user visits a page other than the maintenance page" do
before do
get "/lettings-logs"
end
it "doesn't redirect the user to the maintenance page" do
expect(response).not_to redirect_to(service_unavailable_path)
expect(page).to have_content("Create a new lettings log")
end
it "the cookie banner is visible" do
expect(page).to have_content("We’d like to use analytics cookies so we can understand how you use the service and make improvements.")
end
end
context "when a user visits the maintenance page" do
before do
get "/service-unavailable"
end
it "redirects the user to the start page" do
expect(response).to redirect_to(root_path)
end
it "the cookie banner is visible" do
follow_redirect!
follow_redirect!
expect(page).to have_content("We’d like to use analytics cookies so we can understand how you use the service and make improvements.")
end
end
end
end