My problem: <br><br>Mock &#39;Task_1005&#39; received unexpected message :user_id= with (1)<br><br>No matter what I do to try to stub that out it will still fail out and give me that message.<br><br>Here is my spec<br><br>
<br>describe TasksController, &quot;handling POST /tasks&quot; do<br>&nbsp; before(:each) do<br>&nbsp;&nbsp;&nbsp; @task = mock_model(Task, :to_param =&gt; &quot;1&quot;, :save =&gt; true)<br>&nbsp;&nbsp;&nbsp; Task.stub!(:new).and_return(@task)<br>&nbsp;&nbsp;&nbsp; @user = mock_model(User)
<br>&nbsp;&nbsp;&nbsp; @user.stub!(:id).and_return(1)<br>&nbsp;&nbsp;&nbsp; @user.stub!(:login).and_return(&quot;moo&quot;)<br>&nbsp;&nbsp;&nbsp; User.stub!(:find).and_return(@user)<br>&nbsp;&nbsp;&nbsp; @params = {}<br>&nbsp; end<br>&nbsp; <br>&nbsp; def do_post<br>&nbsp;&nbsp;&nbsp; @request.session[:user] = @
<a href="http://user.id">user.id</a><br>&nbsp;&nbsp;&nbsp; post :create, :task =&gt; @params<br>&nbsp; end<br>&nbsp; <br>&nbsp; it &quot;should create a new task&quot; do<br>&nbsp;&nbsp;&nbsp; Task.should_receive(:user_id).with(@<a href="http://user.id">user.id</a>).and_return(true)
<br>&nbsp;&nbsp;&nbsp; Task.should_receive(:new).with(@params).and_return(@task)<br>&nbsp;&nbsp;&nbsp; do_post<br>&nbsp; end<br>&nbsp; <br>&nbsp; it &quot;should redirect to /tasks&quot; do<br>&nbsp;&nbsp;&nbsp; Task.should_receive(:user_id).with(@<a href="http://user.id">user.id</a>
).and_return(true)<br>&nbsp;&nbsp;&nbsp; do_post<br>&nbsp;&nbsp;&nbsp; response.should redirect_to(home_url)<br>&nbsp; end<br>end<br><br>And my controller:<br><br>&nbsp; def create<br>&nbsp;&nbsp;&nbsp; @task = Task.new(params[:task])<br>&nbsp;&nbsp;&nbsp; @task.user_id = current_user.id<br>
&nbsp;&nbsp;&nbsp; @task.status = Status.find_by_name(&#39;in progress&#39;)<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; respond_to do |format|<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if @task.save<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flash[:notice] = &#39;Task was successfully created.&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.html { redirect_to home_url }
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.xml&nbsp; { head :created, :location =&gt; task_url(@task) }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flash[:error] = @task.errors<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.html { redirect_to home_url }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.xml&nbsp; { render :xml =&gt; @
task.errors.to_xml }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br>&nbsp;&nbsp;&nbsp; end<br>&nbsp; end<br><br>So obviously it&#39;s failing with the current_user.id thing. I&#39;m using restful_authentication.<br><br>Thanks!<br>