require "rails_helper"

RSpec.describe MaintenanceController do
  let(:user) { FactoryBot.create(:user) }

  describe "GET #service_moved" do
    context "when the service has moved" do
      it "logs the user out" do
        allow(FeatureToggle).to receive(:service_moved?).and_return(true)
        sign_in user
        expect(controller).to be_user_signed_in
        get :service_moved
        expect(controller).not_to be_user_signed_in
      end
    end

    context "when the service hasn't moved" do
      it "doesn't log the user out" do
        allow(FeatureToggle).to receive(:service_moved?).and_return(false)
        sign_in user
        expect(controller).to be_user_signed_in
        get :service_moved
        expect(controller).to be_user_signed_in
      end
    end
  end

  describe "GET #service_unavailable" do
    context "when the service is unavailable" do
      it "logs the user out" do
        allow(FeatureToggle).to receive(:service_unavailable?).and_return(true)
        sign_in user
        expect(controller).to be_user_signed_in
        get :service_unavailable
        expect(controller).not_to be_user_signed_in
      end
    end

    context "when the service is available" do
      it "doesn't log the user out" do
        allow(FeatureToggle).to receive(:service_unavailable?).and_return(false)
        sign_in user
        expect(controller).to be_user_signed_in
        get :service_unavailable
        expect(controller).to be_user_signed_in
      end
    end
  end
end