# controller
def create
  @money_order = current_user.money_orders.build(params[:money_order])
  if @money_order.save
    @money_orders = current_user.money_orders.staged
    flash.now[:msg_ok] = "Added money order for: 
#{number_to_currency(@money_order.amount)}"
  end
  respond_with(@money_order)
end


#controller spec
describe "POST create" do
  describe "with valid params" do
    it "assigns a newly created money_order as @money_order" do
      MoneyOrder.stub(:new).with({'these' => 'params'}) { 
mock_money_order(:save => true) }
      post :create, :money_order => {'these' => 'params'}
      assigns(:money_order).should be(mock_money_order)
    end
  end
end


#returns this error
Failure/Error: post :create, :money_order => {'these' => 'params'}
TypeError: can't convert RSpec::Mocks::Mock to Hash (RSpec::Mocks::Mock#to_hash 
gives RSpec::Mocks::Mock)

#gems
rails (3.0.4)
rspec (2.5.0)
rspec-core (2.5.1)
rspec-expectations (2.5.0)
rspec-mocks (2.5.0)
rspec-rails (2.5.0)
... and a few others

Must be missing something simple, but I just don't see it. What is causing the 
error?
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to