Files
kondiplo_front/test/controllers/games_controller_test.rb

68 lines
1.6 KiB
Ruby

require "test_helper"
class GamesControllerTest < ActionDispatch::IntegrationTest
setup do
@user = users(:one)
login_as(@user)
@game = games(:one)
# edit/update/destroy には管理者権限が必要
@game.participants.create!(user: @user, is_administrator: true) unless @game.participants.exists?(user: @user)
end
test "should get index" do
get games_url
assert_response :success
end
test "should get new" do
get new_game_url
assert_response :success
end
test "should create game" do
assert_difference("Game.count") do
post games_url, params: { game: {
title: "New Test Game",
memo: @game.memo,
participants_count: @game.participants_count,
victory_sc_count: 18,
scoring_system: "none"
} }
end
assert_redirected_to game_url(Game.last)
end
test "should show game" do
# showアクションではgame_stateが必要なため、ターンにgame_stateを設定
turn = @game.turns.first
turn.update(game_state: { "centers" => {}, "units" => {} }) if turn
get game_url(@game)
assert_response :success
end
test "should get edit" do
get edit_game_url(@game)
assert_response :success
end
test "should update game" do
patch game_url(@game), params: { game: {
title: @game.title,
memo: @game.memo,
auto_order_mode: @game.auto_order_mode,
victory_sc_count: 18,
scoring_system: "none"
} }
assert_redirected_to game_url(@game)
end
test "should destroy game" do
assert_difference("Game.count", -1) do
delete game_url(@game)
end
assert_redirected_to games_url
end
end