See this blog http://everydayrails.com/2012/04/07/testing-series-rspec-controllers.html
On Monday, June 9, 2014 2:59:21 PM UTC-4, Ruby-Forum.com User wrote: > > 1) Right now this is just testing a successful response. However, since > I've gone and created a Post via FactoryGirl... how can I test the > @post.id equals one of the id's being returned by the get: index json? > > > describe Api::V1::PostsController do > > context 'Post' do > before(:each) do > @post = FactoryGirl.create(:post) > end > > > context '#index' do > it "should have a successful response on get index" do > get :index, format: :json > response.should be_success > end > end > > EDIT: > > 2) How can I use "post :create" when my route is nested. > > For example... this works great as an rspec controller post :create with > a top level resource, such as post > > it "should get a success response on post create" do > post :create, params > response.should be_success > end > > however, for a nested resource like 'comment' which is nested under > post... the above would throw the following... > > Failure/Error: post :create, params > ActionController::UrlGenerationError: > No route matches > > and if I tried > > it "should get a success response on post create" do > post :create, post_id: @post.id, params #@post is defined and > created above > response.should be_success > end > > I get this odd error... > > syntax error, unexpected '\n', expecting => (SyntaxError) > > -- > Posted via http://www.ruby-forum.com/. > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/ba7cb9e1-a9f2-4494-b801-7ff01fa78560%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

