mirror of
https://github.com/team-alembic/ash_authentication_phoenix.git
synced 2024-09-19 21:13:52 +12:00
7c90908ad9
* test: Scoped router tests * test: Initial controller tests * docs: Router helper docs, including :unscoped * chore: Code formatting * fix: ensure path params are processed on strategy router * test: Working controller tests for register, sign-in, sign-out --------- Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
70 lines
2.3 KiB
Elixir
70 lines
2.3 KiB
Elixir
defmodule AshAuthentication.Phoenix.RouterTest do
|
|
@moduledoc false
|
|
use ExUnit.Case
|
|
|
|
test "sign_in_routes adds a route according to its scope" do
|
|
route =
|
|
AshAuthentication.Phoenix.Test.Router
|
|
|> Phoenix.Router.routes()
|
|
|> Enum.find(&(&1.path == "/sign-in"))
|
|
|
|
{_, _, _, %{extra: %{session: session}}} = route.metadata.phoenix_live_view
|
|
|
|
assert session ==
|
|
{AshAuthentication.Phoenix.Router, :generate_session,
|
|
[
|
|
%{
|
|
"auth_routes_prefix" => "/auth",
|
|
"otp_app" => nil,
|
|
"overrides" => [AshAuthentication.Phoenix.Overrides.Default],
|
|
"path" => "/sign-in",
|
|
"register_path" => "/register",
|
|
"reset_path" => "/reset"
|
|
}
|
|
]}
|
|
end
|
|
|
|
test "sign_in_routes respects the inherited router scope" do
|
|
route =
|
|
AshAuthentication.Phoenix.Test.Router
|
|
|> Phoenix.Router.routes()
|
|
|> Enum.find(&(&1.path == "/nested/sign-in"))
|
|
|
|
{_, _, _, %{extra: %{session: session}}} = route.metadata.phoenix_live_view
|
|
|
|
assert session ==
|
|
{AshAuthentication.Phoenix.Router, :generate_session,
|
|
[
|
|
%{
|
|
"auth_routes_prefix" => "/nested/auth",
|
|
"otp_app" => nil,
|
|
"overrides" => [AshAuthentication.Phoenix.Overrides.Default],
|
|
"path" => "/nested/sign-in",
|
|
"register_path" => "/nested/register",
|
|
"reset_path" => "/nested/reset"
|
|
}
|
|
]}
|
|
end
|
|
|
|
test "sign_in_routes respects unscoped" do
|
|
route =
|
|
AshAuthentication.Phoenix.Test.Router
|
|
|> Phoenix.Router.routes()
|
|
|> Enum.find(&(&1.path == "/unscoped/sign-in"))
|
|
|
|
{_, _, _, %{extra: %{session: session}}} = route.metadata.phoenix_live_view
|
|
|
|
assert session ==
|
|
{AshAuthentication.Phoenix.Router, :generate_session,
|
|
[
|
|
%{
|
|
"auth_routes_prefix" => "/auth",
|
|
"otp_app" => nil,
|
|
"overrides" => [AshAuthentication.Phoenix.Overrides.Default],
|
|
"path" => "/unscoped/sign-in",
|
|
"register_path" => "/register",
|
|
"reset_path" => "/reset"
|
|
}
|
|
]}
|
|
end
|
|
end
|