Sha256: 9ab955adfe3747ee3dd20b129dbda846570ce058c7232917f594bd85b9eac575

Contents?: true

Size: 799 Bytes

Versions: 2

Compression:

Stored size: 799 Bytes

Contents

RSpec.describe Rails::Auth::ErrorPage::Middleware do
  let(:request)    { Rack::MockRequest.env_for("https://www.example.com") }
  let(:error_page) { "<h1> Unauthorized!!! </h1>" }

  subject(:middleware) { described_class.new(app, page_body: error_page) }

  context "access granted" do
    let(:code) { 200 }
    let(:app)  { ->(env) { [code, env, "Hello, world!"] } }

    it "renders the expected response" do
      response = middleware.call(request)
      expect(response.first).to eq code
    end
  end

  context "access denied" do
    let(:app) { ->(_env) { fail(Rails::Auth::NotAuthorizedError, "not authorized!") } }

    it "renders the error page" do
      code, _env, body = middleware.call(request)
      expect(code).to eq 403
      expect(body).to eq [error_page]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails-auth-0.2.0 spec/rails/auth/error_page/middleware_spec.rb
rails-auth-0.1.0 spec/rails/auth/error_page/middleware_spec.rb