diff options
Diffstat (limited to 'spec/support/helpers/devise_helpers.rb')
-rw-r--r-- | spec/support/helpers/devise_helpers.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/support/helpers/devise_helpers.rb b/spec/support/helpers/devise_helpers.rb new file mode 100644 index 00000000000..66874e10f38 --- /dev/null +++ b/spec/support/helpers/devise_helpers.rb @@ -0,0 +1,17 @@ +module DeviseHelpers + # explicitly tells Devise which mapping to use + # this is needed when we are testing a Devise controller bypassing the router + def set_devise_mapping(context:) + env = env_from_context(context) + + env['devise.mapping'] = Devise.mappings[:user] if env + end + + def env_from_context(context) + if context.respond_to?(:env_config) + context.env_config + elsif context.respond_to?(:env) + context.env + end + end +end |