Hi all, here i am again with this stupid problem in rspecing this controller action:
------------------------------------ CommentsController def create @comment = Comment.new(params[:comment]) @user = User.find(params[:user_id]) [16] @comment.author = @user @comment.save end ------------------------------------ CommentsController Spec describe CommentsController, "handling POST /comments" do before(:each) do @user = mock_model(User, :to_param => "2") @comment = mock_model(Comment, :to_param => "1", :author => @user) User.should_receive(:find).at_least(1).times.and_return(@user) Comment.stub!(:new).and_return(@comment) end def post_with_successful_save @comment.should_receive(:save).and_return(true) [34]post :create, :user_id => @user_id, :comment => {} end it "should create a new comment" do Comment.should_receive(:new).with({ }).and_return(@comment) [47]post_with_successful_save @comment.author.should be(@user) end end The frustrating error Rspec gave to me is this: Spec::Mocks::MockExpectationError in 'CommentsController handling POST /comments should create a new comment' Mock 'Comment_1002' received unexpected message :author= with (#<User:0x..fdb9c1a8e @name="User_1000">) comments_controller.rb:16:in `create' comments_controller_spec.rb:34:in `post_with_successful_save' comments_controller_spec.rb:47: I have tried to google for something like this but i resolved nothing. Could someone help me understanding my fault? Thanks in advance, Roberto. Inviato da Yahoo! Mail. La casella di posta intelligente. http://it.docs.yahoo.com/mail/overview/index.html _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users