Sha256: 7f3654c5a2e0604b5b2ecf14b4938d80f254f0303449f8b81c9e9fc9815f7dbb
Contents?: true
Size: 1.76 KB
Versions: 6
Compression:
Stored size: 1.76 KB
Contents
require 'test_helper' require 'devise/parameter_sanitizer' class BaseSanitizerTest < ActiveSupport::TestCase def sanitizer Devise::BaseSanitizer.new(User, :user, { user: { "email" => "jose" } }) end test 'returns chosen params' do assert_equal({ "email" => "jose" }, sanitizer.for(:sign_in)) end end if defined?(ActionController::StrongParameters) require 'active_model/forbidden_attributes_protection' class ParameterSanitizerTest < ActiveSupport::TestCase def sanitizer(params) params = ActionController::Parameters.new(params) Devise::ParameterSanitizer.new(User, :user, params) end test 'filters some parameters on sign in by default' do sanitizer = sanitizer(user: { "email" => "jose", "password" => "invalid" }) assert_equal({ "email" => "jose" }, sanitizer.for(:sign_in)) end test 'filters some parameters on sign up by default' do sanitizer = sanitizer(user: { "email" => "jose", "role" => "invalid" }) assert_equal({ "email" => "jose" }, sanitizer.for(:sign_up)) end test 'filters some parameters on account update by default' do sanitizer = sanitizer(user: { "email" => "jose", "role" => "invalid" }) assert_equal({ "email" => "jose" }, sanitizer.for(:account_update)) end test 'allows custom hooks' do sanitizer = sanitizer(user: { "email" => "jose", "password" => "invalid" }) sanitizer.for(:sign_in) { |user| user.permit(:email, :password) } assert_equal({ "email" => "jose", "password" => "invalid" }, sanitizer.for(:sign_in)) end test 'raises on unknown hooks' do sanitizer = sanitizer(user: { "email" => "jose", "password" => "invalid" }) assert_raise NotImplementedError do sanitizer.for(:unknown) end end end end
Version data entries
6 entries across 6 versions & 2 rubygems