Module: Verikloak::Rails::Testing::Helpers
- Includes:
- ClaimsBuilder, MiddlewareStub
- Defined in:
- lib/verikloak/rails/testing/helpers.rb
Overview
Top-level mix-in for RSpec example groups (request and policy specs). Composes ClaimsBuilder and MiddlewareStub, and adds ‘Verikloak::Pundit::UserContext` builders when the optional `verikloak-pundit` gem is loaded.
Constant Summary
Constants included from MiddlewareStub
MiddlewareStub::DEFAULT_STUB_TOKEN
Instance Method Summary collapse
-
#build_admin_user_context(user, admin_group: '/admin') ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: admin claims + UserContext.
-
#build_pundit_user_context(user, claims) ⇒ Verikloak::Pundit::UserContext
Build a ‘Verikloak::Pundit::UserContext` for policy specs.
-
#build_user_user_context(user, user_group: '/user') ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: user claims + UserContext.
Methods included from MiddlewareStub
Methods included from ClaimsBuilder
#build_admin_claims, #build_jwt_claims, #build_user_claims
Instance Method Details
#build_admin_user_context(user, admin_group: '/admin') ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: admin claims + UserContext.
36 37 38 |
# File 'lib/verikloak/rails/testing/helpers.rb', line 36 def build_admin_user_context(user, admin_group: '/admin') build_pundit_user_context(user, build_admin_claims(user, admin_group: admin_group)) end |
#build_pundit_user_context(user, claims) ⇒ Verikloak::Pundit::UserContext
Build a ‘Verikloak::Pundit::UserContext` for policy specs.
23 24 25 26 27 28 29 |
# File 'lib/verikloak/rails/testing/helpers.rb', line 23 def build_pundit_user_context(user, claims) unless defined?(::Verikloak::Pundit::UserContext) raise 'verikloak-pundit gem is not loaded; cannot build a UserContext' end ::Verikloak::Pundit::UserContext.new(user, claims) end |
#build_user_user_context(user, user_group: '/user') ⇒ Verikloak::Pundit::UserContext
Convenience wrapper: user claims + UserContext.
45 46 47 |
# File 'lib/verikloak/rails/testing/helpers.rb', line 45 def build_user_user_context(user, user_group: '/user') build_pundit_user_context(user, build_user_claims(user, user_group: user_group)) end |