How to test Devise in RSpec controller, error: undefined `assign 'method for # <RSpec :: Core :: ExampleGroup :: Nested_1: 0x0000010597f4b8>

I get the following error:

undefined method `assign' for #<RSpec::Core::ExampleGroup::Nested_1:0x0000010597f4b8> 

When trying to test documents .

Here is what I have:

user_controller_spec.rb

 require 'spec_helper' describe "devise/sessions/new.html.erb" do let(:user) do stub_model(User).as_new_record end before do assign(:user, user) # Devise provides resource and resource_name helpers and # mappings so stub them here. @view.stub(:resource).and_return(user) @view.stub(:resource_name).and_return('user') @view.stub(:devise_mapping).and_return(Devise.mappings[:user]) end it "renders a form to sign the user in" do render rendered.should have_selector("form", :method => "post", :action => user_session_path ) do |form| form.should have_selector("input", :type => "submit") end end end 

Suggestions? Thanks

+4
source share
1 answer

Rspec has changed a bit, now it uses assigns .

The dock is here .

+4
source

Source: https://habr.com/ru/post/1369401/


All Articles