LoginSignup
0
0

More than 3 years have passed since last update.

【自分用】NoMethodError: undefined method `set_encoding' for

Last updated at Posted at 2021-01-14
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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0