defmodule ToweropsWeb.GraphQLDocsControllerTest do use ToweropsWeb.ConnCase, async: true import Towerops.AccountsFixtures import Towerops.OrganizationsFixtures alias Towerops.ApiTokens describe "GET /docs/graphql" do test "renders index without login", %{conn: conn} do conn = get(conn, "/docs/graphql") assert html_response(conn, 200) =~ "GraphQL" end test "renders index for logged-in user without tokens", %{conn: conn} do user = user_fixture() org = organization_fixture(user.id) conn = conn |> log_in_user(user) |> Plug.Conn.put_session(:current_organization_id, org.id) |> get("/docs/graphql") assert html_response(conn, 200) =~ "GraphQL" end test "renders index for logged-in user with API tokens", %{conn: conn} do user = user_fixture() org = organization_fixture(user.id) {:ok, {_token, _raw}} = ApiTokens.create_api_token(%{ organization_id: org.id, user_id: user.id, name: "GraphQL Token" }) conn = conn |> log_in_user(user) |> Plug.Conn.put_session(:current_organization_id, org.id) |> get("/docs/graphql") assert html_response(conn, 200) =~ "GraphQL" end end end