diff --git a/test/chess_web/controllers/game_controller_test.exs b/test/chess_web/controllers/game_controller_test.exs index 4da8f4c..3182e21 100644 --- a/test/chess_web/controllers/game_controller_test.exs +++ b/test/chess_web/controllers/game_controller_test.exs @@ -4,11 +4,17 @@ defmodule Chess.GameControllerTest do alias Chess.Store.Game alias Chess.Auth.Guardian - import Chess.Factory, only: [create_user: 0, create_user: 2] + import Chess.Factory, + only: [create_user: 0, create_user: 2, create_game_for: 2] test "lists all entries on index", %{conn: conn} do - conn = login(conn) - conn = get conn, game_path(conn, :index) + user = create_user() + + conn = + conn + |> login(user) + |> get(game_path(conn, :index)) + assert html_response(conn, 200) =~ "Listing games" end @@ -16,21 +22,35 @@ defmodule Chess.GameControllerTest do opponent = create_user("daruk", "deathmountain") attrs = %{"opponent_id" => opponent.id} - conn = login(conn) - conn = post conn, game_path(conn, :create), game: attrs + user = create_user() + + conn = + conn + |> login(user) + |> post(game_path(conn, :create), game: attrs) + game = Repo.one(Game) + assert redirected_to(conn) == game_path(conn, :show, game) end test "shows chosen resource", %{conn: conn} do - conn = login(conn) - game = Repo.insert! %Game{} - conn = get conn, game_path(conn, :show, game) + user = create_user() + opponent = create_user("revali", "vahmedoh") + game = create_game_for(user, opponent) + + conn = + conn + |> login(user) + |> get(game_path(conn, :show, game)) + assert html_response(conn, 200) =~ "