# I'm following the rspec.info example on controllers
Controller
def new
@post = Post.new
end
def create
@post = Post.new(params[:post].merge(:user_id => current_user.id))
respond_to do |format|
if @post.save
flash[:notice] = 'News posted!'
format.html { redirect_to post_path(@post) }
else
format.html { render :action => 'new' }
end
end
end
RSpec
describe PostsController do
before(:each) do
@post = mock("post")
@post.stub!(:new_record?).and_return(false)
Post.stub!(:new).and_return(@post)
end
it "should create a new, unsaved post on GET to create" do
Post.should_receive(:new).and_return(@post)
get 'create'
end
end
Autotest ouput
F
1)
Spec::Mocks::MockExpectationError in 'PostsController should create a new, unsaved post on GET to create'
Mock 'Class' expected :new with (any args) once, but received it 0 times