[rspec-users] TypeError: can't convert RSpec::Mocks::Mock to Hash

Justin Ko jko170 at gmail.com
Sun Feb 20 19:40:06 EST 2011



On Feb 15, 10:25 am, Karl <threadh... at gmail.com> wrote:
> In MoneyOrdersController controller:
>
> def create
>   @money_order = current_user.money_orders.build(params[:money_order])
>   if @money_order.save
>     flash.now[:msg_ok] = "Added money order for:
> #{number_to_currency(@money_order.amount)}"
>   end
>   respond_with(@money_order)
> end
>
> In MoneyOrdersController 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
>
> It always throws 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)
>
> I'm sure the reason is simple, why I am getting this TypeError?
> _______________________________________________
> rspec-users mailing list
> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users

Hmmm....what is the "mock_money_order" method doing? Care to paste it?


More information about the rspec-users mailing list