factory girl を使用して、inventory_count = 3 のモデルを作成しています。私のテストでは、inventory_count = 0 の場合のケースをテストしたいので、次のようにします。
before(:each) do
@user = FactoryGirl.create(:user)
@piece = FactoryGirl.create(:piece)
@lineup = @user.lineup
end
it 'should have status \'Waiting List\' if the piece doesn\'t have available inventory' do
@piece.available_count = 0
@lineup.pieces << @piece
piece_lineup = @lineup.piece_lineups.find_by_piece_id(@piece.id)
piece_lineup.set_status
piece_lineup.status.should == 'Waiting List'
end
@piece.available_count = 0 の後にデバッガーを配置すると = 0 になりますが、次の行に進むと古い値に戻ります。@piece に .save を追加しようとしましたが、それでも機能しませんでした。私は何か間違ったことをしていますか?その場でやろうとするのではなく、factorygirl で新しい価値モデルを作成する必要がありますか?