Thanks for you reply. With what you said I ended up doing this
before do
@user = mock_model(User, :to_param => "1", :login => "loginator",
:email => "[EMAIL PROTECTED]", :save! => true)
User.stub!(:new).and_return(@user)
@params = { :login => "loginator", :email => "[EMAIL PROTECTED]" }
end
...
it "should create a new user from params" do
User.should_receive(:new).with({"login" => "loginator", "email" =>
"[EMAIL PROTECTED]"}).and_return(@user)
do_post
end
On Fri, Nov 7, 2008 at 11:03 AM, David Chelimsky <[EMAIL PROTECTED]> wrote:
> On Thu, Nov 6, 2008 at 9:53 PM, Ramon Tayag <[EMAIL PROTECTED]> wrote:
>> Hey everyone,
>>
>> I'm trying to spec a controller and I can't seem to get a test to pass
>> because rspec seems to see the difference between params I expect and
>> params that I pass. However, this comes from the same params
>> variable. What should I do to get this to work?
>>
>> Spec::Mocks::MockExpectationError in 'UsersController handling POST
>> /users should create a new user from params'
>> Mock 'Class' expected :new with ({:email=>"[EMAIL PROTECTED]"}) but
>> received it with ({"email"=>"[EMAIL PROTECTED]"})
>
> expected {:email=>"[EMAIL PROTECTED]"}
> got {"email"=>"[EMAIL PROTECTED]"}
>
> Rails is converting what's really passed (with a Symbol key) to a
> String key. It'll work if you expect the String instead.
>
>>
>> Code is here: http://pastie.org/309263
>>
>> Thanks!
>> Ramon Tayag
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users