[rspec-users] RSpec and Factory Girl: Destroying an object

Daniel Salmeron Amselem daniel.amselem at gmail.com
Fri May 14 11:09:15 EDT 2010


Hi,

I have a problem when testing the deletion of a record from the
database. I am using RSpec methods to check if my account object is
being destroyed.

The factory creates an account object and saves it into the DB. Also
the two should_receive expectations seem to work.

The problem is that when checking the database after the
"delete :destroy, :id => account" line, the account record still
exists.


    it "should be able to destroy an account" do
      account = Factory(:account)
      Account.should_receive(:find).and_return(account)
      account.should_receive(:destroy)

      delete :destroy, :id => account

      Account.all.should == []
      response.should be_success
      response.should render_template("new")
    end

  # app/controllers/accounts_controller.rb
  def destroy
    account = Account.find(params[:id])
    account.destroy

    redirect_to accounts_path
  end

I hope someone can help me on this one.

Thanks


More information about the rspec-users mailing list