summaryrefslogtreecommitdiff
path: root/spec/support/helpers/devise_helpers.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/helpers/devise_helpers.rb')
-rw-r--r--spec/support/helpers/devise_helpers.rb17
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