On Tuesday, 1 September 2015 14:40:39 UTC-4, Ruby-Forum.com User wrote:
>
> 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 
>
>
Unless you accidentally removed it when posting here, you aren't creating 
any Poll records. `@poll` is also not set to anything...

--Matt Jones 

-- 
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/21d88a9b-7ea1-4bf8-9b9e-3858f62da80c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to