Skip to content

Instantly share code, notes, and snippets.

@Danielpk
Created December 5, 2015 00:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Danielpk/3491d0f560e8e4335f13 to your computer and use it in GitHub Desktop.
Save Danielpk/3491d0f560e8e4335f13 to your computer and use it in GitHub Desktop.
Devise Params + RSpec + Shoulda Matcher
class Users::RegistrationsController < Devise::RegistrationsController
before_action :configure_permitted_parameters
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:email, info_attributes: [:name]) }
end
end
require 'rails_helper'
RSpec.describe Users::RegistrationsController do
before { request.env["devise.mapping"] = Devise.mappings[:user] }
describe 'POST #create' do
it { should permit(:name, :email).for(:create) }
end
end
@Danielpk
Copy link
Author

Danielpk commented Dec 5, 2015

Test output:

Randomized with seed 10217
F

Failures:

  1) Users::RegistrationsController POST #create should (for POST #create) restrict parameters to :name and :email
     Failure/Error: it { should permit(:name, :email).for(:create) }

       Expected POST #create to restrict parameters to :name and :email,
       but it did not restrict any parameters.
     # ./spec/controllers/users/registrations_controller_spec.rb:6:in `block (3 levels) in <top (required)>'

Finished in 0.14514 seconds (files took 2.7 seconds to load)
1 example, 1 failure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment