From 22b37c138bbcdec368b7fa7a0ed2117746f40889 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Thu, 4 Jun 2026 00:50:43 +0200 Subject: [PATCH] test(web): assert partial-create passes fieldsError state to the edit route --- web/src/objects/object-new-page.test.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/web/src/objects/object-new-page.test.tsx b/web/src/objects/object-new-page.test.tsx index c57f661..18014dc 100644 --- a/web/src/objects/object-new-page.test.tsx +++ b/web/src/objects/object-new-page.test.tsx @@ -2,17 +2,23 @@ import { expect, test } from "vitest"; import { screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { http, HttpResponse } from "msw"; -import { Routes, Route } from "react-router-dom"; +import { Routes, Route, useLocation } from "react-router-dom"; import { server } from "../test/server"; import { renderApp } from "../test/render"; import { ObjectNewPage } from "./object-new-page"; +function EditStub() { + const location = useLocation(); + const flagged = (location.state as { fieldsError?: boolean } | null)?.fieldsError === true; + return
edit page{flagged ? " (fields error)" : ""}
; +} + function tree() { return ( } /> detail view} /> - edit page} /> + } /> ); } @@ -61,5 +67,5 @@ test("partial create: fields PUT fails -> navigate to edit with an error banner" await userEvent.type(screen.getByLabelText(/inscription/i), "x"); await userEvent.click(screen.getByRole("button", { name: /create object/i })); - await waitFor(() => expect(screen.getByText("edit page")).toBeInTheDocument()); + await waitFor(() => expect(screen.getByText(/edit page \(fields error\)/i)).toBeInTheDocument()); });