defmodule Chess.GameControllerTest do use ChessWeb.ConnCase alias Chess.Store.Game alias Chess.Auth.Guardian import Chess.Factory, only: [create_user: 0, create_user: 2, create_game_for: 2] test "lists all entries on index", %{conn: conn} do user = create_user() conn = conn |> login(user) |> get(game_path(conn, :index)) assert html_response(conn, 200) =~ "Listing games" end test "creates resource and redirects when data is valid", %{conn: conn} do opponent = create_user("daruk", "deathmountain") attrs = %{"opponent_id" => opponent.id} 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 game", %{conn: conn} do 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) =~ "