From e831297fb85692bb0ffc9bf8c85cd9ee2b4a8e08 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Fri, 4 May 2018 20:51:29 +0200 Subject: [PATCH] Add turn change test --- test/chess/store/game_test.exs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/chess/store/game_test.exs b/test/chess/store/game_test.exs index 0f861b0..32fc0c8 100644 --- a/test/chess/store/game_test.exs +++ b/test/chess/store/game_test.exs @@ -5,6 +5,7 @@ defmodule Chess.GameTest do describe "game" do alias Chess.Repo + alias Chess.Board alias Chess.Store.Game import Chess.Factory @@ -75,5 +76,25 @@ defmodule Chess.GameTest do refute changeset.valid? assert {:error, _changeset} = Repo.insert(changeset) end + + test "moving a piece changes the turn" do + user = insert(:user, %{email: "link@hyrule.com"}) + opponent = insert(:user, %{email: "zelda@hyrule.com"}) + + game = insert(:game, %{ + board: Board.default, + user_id: user.id, + opponent_id: opponent.id, + }) + + move_params = %{"from" => [4, 1], "to" => [4, 3]} + + changeset = Game.move_changeset(game, %{ + board: Board.move_piece(game.board, move_params), + }) + + assert {:ok, new_game} = Repo.update(changeset) + assert new_game.turn == "black" + end end end