thirteen-tien-len/spec/features/users/user_join_game_spec.rb

52 lines
1.4 KiB
Ruby

require 'rails_helper'
include Warden::Test::Helpers
Warden.test_mode!
feature 'Join a game', type: :feature, js: true do
# before(:each) do
# @game = setup_game
# @game.reload
# @player = @game.controlling_player
# signin(@player.user.email,'please123')
# #login_as(@player.user, scope: :user)
# visit game_path @game
# end
after(:each) do
Warden.test_reset!
end
# Scenario: The user joins a game
# Given: A joinable game and I am a signed in user
# When I click the join game button
# Then I see myself in the game
scenario 'user can join a game' do
@game = FactoryGirl.create :game
@user = FactoryGirl.create :user
login_as(@user, scope: :user)
visit game_path @game
click_button "Join"
#TODO: Fix this asynchronous race condition
visit current_path
expect(page).to have_content @user.email
end
# Scenario: The user is unable to join a game if they are already joined
# Given: A game I am currently in that is otherwise joinable
# When I visit the game path
# Then I do not see a Join button
scenario 'user can not join a game twice' do
@game = FactoryGirl.create :game
@user = FactoryGirl.create :user
login_as(@user, scope: :user)
visit game_path @game
click_button "Join"
#TODO: Fix this asynchronous race condition
visit current_path
expect(page).to_not have_content "Join"
end
end