Not sure if I'm doing post :update correctly in test

What does your controller code look like? This would pass "New Body"
as params[:body]. If you're using form_for() or similar, you probably
are doing something like this in your controller:

   ...
   @blog_post.attributes = params[:blog_post]

In which case you would need to pass the body like this in your test:

   post :update, :id => @first_id, :blog_post => {:body => "New Body"}

I'm just guessing, based on what is typically done. Show use your
controller code and we'll be able to give you a better answer.