0

rspec を使用して Rails アプリケーションのテストを作成しようとしています。基本的に 2 つのインスタンスを作成したいと考えています。

1) カウンター値が 0 のユーザー

2)カウンター値5以上のユーザー

ここに私の工場のユーザーコードがあります

FactoryBot.define do
  factory :user do
    sequence(:email) { |n| "user#{n}@abc.com" }
    name 'rishabh agarwal'
    password '12345678'
    counter 0
  end
end

私が書いたuser_controller_specファイルに

context 'get#redeem' do
  it 'should not redeem the account for points lesser than 5' do
    get :redeem, format: :json,params:{:id=>dummyUser.id}
    expect(JSON.parse(response.body)["message"]).to eq("You cannot redeem your points")
   end

  it 'should redeem the account if points are greater than or equal to 5' do                                       
    get :redeem, format: :json,params:{:id=>dummyUser.id}
    json=JSON.parse(response.body)
    expect(JSON.parse(response.body)["counter"]).to eq(5)
  end
end

以前はlet!インスタンスを作成し ていましたが、let!(:dummyUser){create :user}

4

3 に答える 3