# defmodule AshHqWeb.UserRegistrationControllerTest do # use AshHqWeb.ConnCase, async: true # import AshHq.AccountsFixtures # describe "GET /users/register" do # test "renders registration page", %{conn: conn} do # conn = get(conn, Routes.user_registration_path(conn, :new)) # response = html_response(conn, 200) # assert response =~ "Register" # assert response =~ "Log in" # assert response =~ "Log in" # end # test "redirects if already logged in", %{conn: conn} do # conn = conn |> log_in_user(user_fixture()) |> get(Routes.user_registration_path(conn, :new)) # assert redirected_to(conn) == "/" # end # end # describe "POST /users/register" do # @tag :capture_log # test "creates account and logs the user in", %{conn: conn} do # email = unique_user_email() # conn = # post(conn, Routes.user_registration_path(conn, :create), %{ # "user" => %{"email" => email, "password" => valid_user_password()} # }) # assert get_session(conn, :user_token) # assert redirected_to(conn) =~ "/" # # Now do a logged in request and assert on the menu # conn = get(conn, "/") # response = html_response(conn, 200) # assert response =~ "Ash Framework" # end # test "render errors for invalid data", %{conn: conn} do # conn = # post(conn, Routes.user_registration_path(conn, :create), %{ # "user" => %{"email" => "with spaces", "password" => "too short"} # }) # response = html_response(conn, 200) # assert response =~ "Register" # assert response =~ "must have the @ sign and no spaces" # assert response =~ "length must be greater than or equal to 12" # end # end # end