View Source Inertia.Testing (Inertia v2.4.0)
Helpers for testing Inertia responses.
Summary
Functions
Fetches the Inertia component (if applicable) for the current request.
Fetches the Inertia errors (if applicable) for the current request.
Fetches the Inertia props (if applicable) for the current request.
Functions
@spec inertia_component(Plug.Conn.t()) :: String.t() | nil
Fetches the Inertia component (if applicable) for the current request.
Example
use MyAppWeb.ConnCase
import Inertia.Testing
describe "GET /" do
test "renders the home page", %{conn: conn} do
conn = get("/")
assert inertia_component(conn) == "Home"
end
end
@spec inertia_errors(Plug.Conn.t()) :: map()
Fetches the Inertia errors (if applicable) for the current request.
If there are errors available in the current page props, they will be returned. Otherwise, errors that have been stored in the session will be retrieved.
Example
use MyAppWeb.ConnCase
import Inertia.Testing
describe "POST /users" do
test "fails when name empty", %{conn: conn} do
conn = post("/users", %{"name" => ""})
assert %{user: %{id: 1}} = inertia_props(conn)
assert redirected_to(conn) == ~p"/users"
assert inertia_errors(conn) == %{"name" => "can't be blank"}
end
end
@spec inertia_props(Plug.Conn.t()) :: map() | nil
Fetches the Inertia props (if applicable) for the current request.
Example
use MyAppWeb.ConnCase
import Inertia.Testing
describe "GET /" do
test "renders the home page", %{conn: conn} do
conn = get("/")
assert %{user: %{id: 1}} = inertia_props(conn)
end
end