dotfiles/app/test/prymn_web/live/user_login_live_test.exs

48 lines
1.2 KiB
Elixir
Raw Normal View History

2023-07-28 20:44:00 +00:00
defmodule PrymnWeb.UserLoginLiveTest do
use PrymnWeb.ConnCase
import Phoenix.LiveViewTest
import Prymn.AccountsFixtures
describe "Log in page" do
test "redirects if already logged in", %{conn: conn} do
result =
conn
|> log_in_user(user_fixture())
|> live(~p"/auth/log_in")
|> follow_redirect(conn, "/")
assert {:ok, _conn} = result
end
end
describe "user login" do
test "redirects if user login with valid credentials", %{conn: conn} do
password = "123456789abcd"
user = user_fixture(%{password: password})
{:ok, lv, _html} = live(conn, ~p"/auth/log_in")
form =
form(lv, "#login_form", user: %{email: user.email, password: password, remember_me: true})
conn = submit_form(form, conn)
assert redirected_to(conn) == ~p"/"
end
test "redirects to login page if there are no valid credentials", %{conn: conn} do
{:ok, lv, _html} = live(conn, ~p"/auth/log_in")
email = "test@email.com"
form =
form(lv, "#login_form", user: %{email: email, password: "123456", remember_me: true})
conn = submit_form(form, conn)
assert redirected_to(conn) == ~p"/auth/log_in?#{[email: email]}"
end
end
end