Rspec devise, testing extended RegistrationController action destroy

110 views
Skip to first unread message

and...@benjamin.dk

unread,
Jul 4, 2013, 11:18:50 AM7/4/13
to rubyonra...@googlegroups.com
Hi everyone,

I have devise 1.5.4 working with rails 3.0.20 and ruby 1.8.7 .

I have extended the destroy action from the RegistrationController, to soft delete users instead of really deleting them from the database.

def destroy
    # raise resouce.inspect # this is just to see if the test hits the action
    resource.soft_delete
    set_flash_message :notice, :destroyed
    sign_out resource
    redirect_to new_session_path(resource)
  end

This is working on the browser. 

When I try to write a test to the delete action, I get the test as passed but does not execute the code. Prove of that is I have put a raise on the action and it did not raise it. I have also tried to test the 'new action' just to see if it was hitting the right controller on the test and it worked with:

get :new

This means the mapping it correct for devise and its hitting the right controller.
But on my test I am doing:

delete :destroy, :profile => active_profile #active_profile is an instance of a factory

which should be the correct thing but it does not hit my action. I have tried a lot of different combinations:

post :destroy, :method => :delete
post :destroy
put :destroy

I have also tried to use a debugger on it and I can see it passes the test without hitting the action.

Can please somebody help me and tell me exactly what's the right call to this action?

Thanks,

Andre

Colin Law

unread,
Jul 4, 2013, 11:32:24 AM7/4/13
to rubyonra...@googlegroups.com
Look in test.log to see what is happening.

Colin

and...@benjamin.dk

unread,
Jul 9, 2013, 9:48:32 AM7/9/13
to rubyonra...@googlegroups.com, cla...@googlemail.com
Colin,

Thanks very much, I should have done that and understood right away why it was not working.

I forgot I had to login the user and that was the difference between the new and create actions to the update and destroy for the registrations controller on devise!

sometimes you just need another person to look at your code or to write it down to understand what you doing wrong :)


Colin Law

unread,
Jul 9, 2013, 4:35:27 PM7/9/13
to rubyonra...@googlegroups.com
That is true. Glad to be of help.

Colin
Reply all
Reply to author
Forward
0 new messages