Failures:
1) Product POST #create ログインしているユーザー productの数が一つ増えていること
Failure/Error: expect {post products_path, params: product_params }.to change(Product, :count).by(1)
NoMethodError:
undefined method `set_encoding' for #<Product:0x0000000007fe4988>
ここからが改善策。まずは直す前
describe 'POST #create' do
🌟🌟let(:product_params) { FactoryBot.create(:product,title: '新規投稿',user: user) }
context 'ログインしているユーザー' do
it 'productの数が一つ増えていること' do
#ログインする
sign_in_as(user)
#POSTで投稿の新規作成,数が一つ増えているかexpect
expect {post products_path, params: product_params }.to change(Product, :count).by(1)
end
end
改善策
describe 'POST #create' do
#新しいproductを作る
🌟🌟let(:product_params) do
{ product: {
title: "四皇",
language: "PHP",
detail: "ウオウオの実",
period: "8年",
user: user
}
}
end
context 'ログインしているユーザー' do
it 'productの数が一つ増えていること' do
#ログインする
sign_in_as(user)
#POSTで投稿の新規作成,数が一つ増えているかexpect
expect {post products_path, params: product_params }.to change(Product, :count).by(1)
end
end