please help solve the problem.

poll controller:

class PollsController < ApplicationController
  def index
    @user = User.find(params[:user_id])
    @polls = @user.polls.paginate(page: params[:page], :per_page =>
10).order(title: :DESC)
  end
end

route:

user_polls GET    /users/:user_id/polls(.:format)
polls#index

polls_controller_spec.rb:
RSpec.describe PollsController, type: :controller do
  describe "GET #index" do
    before :all do
      @user = FactoryGirl.create(:user)
    end


    it "assign user as @user" do
      get :index, user_id: @user.id
      expect(assigns(:user)).to eq(@user)
    end


    it "assigns polls as @polls" do
      get :index, user_id: @user.id
      expect(assigns(:polls)).to eq([@poll])
    end


    it "redirects to the index view" do
      get :index, user_id: @user.id
      expect(response).to render_template("index")
    end
  end
end

after run tests, i get follow error message:

kalinin@kalinin ~/rails/phs $ rspec
spec/controllers/polls_controller_spec.rb
.F.
Failures:
  1) PollsController GET #index assigns polls as @polls
     Failure/Error: expect(assigns(:polls)).to eq([@poll])
       expected: [nil]
            got: #<ActiveRecord::AssociationRelation []>
       (compared using ==)
       Diff:
       @@ -1,2 +1,2 @@
       -[nil]
       +[]
     # ./spec/controllers/polls_controller_spec.rb:16:in `block (3
levels) in <top (required)>'

Finished in 1.23 seconds (files took 2.81 seconds to load)
3 examples, 1 failure
Failed examples:
rspec ./spec/controllers/polls_controller_spec.rb:14 # PollsController
GET #index assigns polls as @polls


as you can see problem in test 'assigns polls as @polls'. I do not
understand why array @polls is empty

-- 
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 rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/424c01ce4628e68a91d5de7465cf9604%40ruby-forum.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to