In my controller spec I am doing this:
it \"should create new message\" do
Client.should_receive(:create).with({:title => \'Mr\'})
post \'create\' , :clie
@ssmithone you could use ActiveSupport::HashWithIndifferentAccess to pass params as symbols instead of strings. This should work:
it "should create new message" do
Client.should_receive(:create).with({:title => 'Mr'}.with_indifferent_access)
post 'create', :client => {:title => "Mr"}
end
It's because you are passing a symbol and not a string. This should fix it :
it "should create new message" do
Client.should_receive(:create).with({:title => 'Mr'})
post 'create' , :client => {"title" => "Mr" }
end
Here's a blogpost about it: "Understanding Ruby Symbols"