Current section

Files

Jump to
openmaize priv templates phoenix phx_api session_controller_test.exs
Raw

priv/templates/phoenix/phx_api/session_controller_test.exs

defmodule <%= base %>.SessionControllerTest do
use <%= base %>.ConnCase
import <%= base %>.TestHelpers
@valid_attrs %{username: "robin", password: "mangoes&g0oseberries"}
@invalid_attrs %{username: "robin", password: "maaaangoes&g00zeberries"}
setup %{conn: conn} do<%= if confirm do %>
add_user("arthur")
user = add_user_confirmed("robin")<% else %>
user = add_user("robin")<% end %>
conn = conn |> add_token_conn(user)
{:ok, %{conn: conn}}
end
test "login succeeds", %{conn: conn} do
conn = post conn, session_path(conn, :create), session: @valid_attrs
assert json_response(conn, 200)["info"]["detail"]
end
test "login fails", %{conn: conn} do
conn = post conn, session_path(conn, :create), session: @invalid_attrs
assert json_response(conn, 401)["errors"]["detail"] =~ "need to login"
end<%= if confirm do %>
test "confirmation succeeds for correct key", %{conn: conn} do
email = "arthur@mail.com"
key = "pu9-VNdgE8V9qZo19rlcg3KUNjpxuixg"
conn = get(conn, session_path(conn, :confirm_email, email: email, key: key))
assert json_response(conn, 200)["info"]["detail"]
end
test "confirmation fails for incorrect key", %{conn: conn} do
email = "arthur@mail.com"
key = "pu9-VNdgE8V9QzO19RLCG3KUNjpxuixg"
conn = get(conn, session_path(conn, :confirm_email, email: email, key: key))
assert json_response(conn, 401)["errors"]["detail"] =~ "need to login"
end<% end %>
end