40 lines
1.1 KiB
Ruby

require 'rails_helper'
RSpec.describe Play, type: :model do
before(:each) do
@game = FactoryGirl.create(:game)
@user1 = FactoryGirl.create(:user)
@user2 = FactoryGirl.create(:user)
@game.add_player_from_user @user1
@game.add_player_from_user @user2
@game.save
@game.start
@play = @game.current_player.plays.new
@play.game_id = @game.id
@play.save
end
subject { @play }
it { should respond_to(:game_id) }
it '#game_id returns an integer' do
expect(@play.game_id).to match @game.id
end
describe 'validations' do
describe 'first_play' do
context 'when there have been no plays yet' do
it 'is valid if it contains the lowest card' do
expect(@game.plays.count).to eq(1)
expect(@game.current_player).to eq(@game.lowest_card.player)
@card_to_play = @game.current_player.player_cards.order(:value).first
@card_to_play.play_id = @play.id
@card_to_play.save
expect(@play.player_cards.include? @game.lowest_card).to eq true
end
end
end
end
end