###前提・実現したいこと
RSpecでControllerのテストケースを作成しているのですが、getでパラメータを引数渡すところがうまくできません。
どうすればeventModelのidをちゃんと渡してshow画面のレスポンスを得るテストケースを作成することができるのでしょうか?
ご教授お願いいたします!
###発生している問題・エラーメッセージ
Failure/Error: get :show, event: Event.new(:event_create) ArgumentError: When assigning attributes, you must pass a hash as an argument.
###該当のソースコード
Ruby
1#/events_controller_spec.rb 2 3 describe "Get #show" do 4 it "引数として渡されたEventModelのidに対応したshow画面が呼び出されること" do 5 get :show, event: attributes_for(:event_create) 6 expect(assigns[:event]).to render_template :show 7 end 8end
Ruby
1#/factories/events.rb 2 3FactoryGirl.define do 4 factory :event_create, class: Event do 5 title "title" 6 alternative_date1 Date.tomorrow 7 author_attributes { attributes_for(:user) } 8 end 9end 10 11#/factories/users.rb 12 13FactoryGirl.define do 14 factory :user, class: User do 15 name "name" 16 end 17end
Ruby
1#/events_controllerのshowメソッド 2#パスは/events/:id 3 4 def show 5 @event = Event.find(params[:id]) 6 end 7
###補足情報(言語/FW/ツール等のバージョンなど)
RSpec -v "3.5.2"
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。