|
|
@ -6,7 +6,7 @@ defmodule LinkShortenerWeb.Api.V1.UserControllerTest do
|
|
|
|
alias LinkShortener.Accounts.User
|
|
|
|
alias LinkShortener.Accounts.User
|
|
|
|
|
|
|
|
|
|
|
|
@create_attrs %{
|
|
|
|
@create_attrs %{
|
|
|
|
email: "some_email@mail.com",
|
|
|
|
email: "user@mail.com",
|
|
|
|
password: "some password"
|
|
|
|
password: "some password"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -15,6 +15,11 @@ defmodule LinkShortenerWeb.Api.V1.UserControllerTest do
|
|
|
|
password: "some updated password"
|
|
|
|
password: "some updated password"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@invalid_password_attrs %{
|
|
|
|
|
|
|
|
email: "user@mail.com",
|
|
|
|
|
|
|
|
password: ""
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@invalid_attrs %{
|
|
|
|
@invalid_attrs %{
|
|
|
|
email: nil,
|
|
|
|
email: nil,
|
|
|
|
encrypted_password: nil
|
|
|
|
encrypted_password: nil
|
|
|
@ -24,11 +29,11 @@ defmodule LinkShortenerWeb.Api.V1.UserControllerTest do
|
|
|
|
{:ok, conn: put_req_header(conn, "accept", "application/json")}
|
|
|
|
{:ok, conn: put_req_header(conn, "accept", "application/json")}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
describe "create user" do
|
|
|
|
describe "create user with sign up" do
|
|
|
|
test "renders user when data is valid", %{conn: conn} do
|
|
|
|
test "renders user when data is valid", %{conn: conn} do
|
|
|
|
conn = post(conn, Routes.v1_user_path(conn, :create), user: @create_attrs)
|
|
|
|
conn = post(conn, Routes.v1_user_path(conn, :create), user: @create_attrs)
|
|
|
|
assert %{
|
|
|
|
assert %{
|
|
|
|
"email" => "some_email@mail.com",
|
|
|
|
"email" => "user@mail.com",
|
|
|
|
"token" => token
|
|
|
|
"token" => token
|
|
|
|
} = json_response(conn, 201)
|
|
|
|
} = json_response(conn, 201)
|
|
|
|
end
|
|
|
|
end
|
|
|
@ -39,8 +44,26 @@ defmodule LinkShortenerWeb.Api.V1.UserControllerTest do
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
describe "user sign in" do
|
|
|
|
|
|
|
|
setup [:create_user]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test "renders user when data is valid", %{conn: conn} do
|
|
|
|
|
|
|
|
conn = post(conn, Routes.v1_user_path(conn, :signin), @create_attrs)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assert %{
|
|
|
|
|
|
|
|
"email" => email,
|
|
|
|
|
|
|
|
"token" => token,
|
|
|
|
|
|
|
|
} = json_response(conn, 201)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test "renders errors when data is invalid", %{conn: conn} do
|
|
|
|
|
|
|
|
conn = post(conn, Routes.v1_user_path(conn, :signin), @invalid_password_attrs)
|
|
|
|
|
|
|
|
assert "Unauthorized" == json_response(conn, 401)
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
defp create_user(_) do
|
|
|
|
defp create_user(_) do
|
|
|
|
user = user_fixture()
|
|
|
|
user = user_fixture(@create_attrs)
|
|
|
|
%{user: user}
|
|
|
|
%{user: user}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|