fix: T6 browser-check findings (compliance, treatments, labels)
- api-client accepts 2xx answers without body (revoke showed an error) - authority notices: sentOn in the future is rejected (Berlin day) on create, mark-sent and PATCH; dialog defaults to the Berlin day - service worker never caches /api/v1/site-settings - treatments/new no longer overflows at 390 px (min-w-0 on form wrappers); dose with more than 3 decimals is an error, never rounded - medicines: expired lots flagged, disposal over the rest warns - label designer: side panel at lg, sample values instead of placeholders, compliance panel reopens on lg, labelled zoom buttons - skip link to #main-content, headings on no-access pages Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
6c390efe7b
commit
e712c5d4d1
64 files changed
+1497
-323
No files matched your search
@@ -98,6 +98,27 @@ describe("AppLayout", () => {
|
||||
pushMock.mockClear();
|
||||
});
|
||||
|
||||
it("starts with a skip link that moves the focus to the page content", async () => {
|
||||
render(
|
||||
<AppLayout>
|
||||
<main>
|
||||
<p>Seiteninhalt</p>
|
||||
</main>
|
||||
</AppLayout>,
|
||||
);
|
||||
|
||||
const link = screen.getByRole("link", { name: "Zum Inhalt springen" });
|
||||
// First in the tab order: before the sidebar and every other link.
|
||||
await userEvent.tab();
|
||||
expect(link).toHaveFocus();
|
||||
expect(link).toHaveAttribute("href", "#main-content");
|
||||
|
||||
await userEvent.keyboard("{Enter}");
|
||||
const content = screen.getByText("Seiteninhalt").closest("#main-content");
|
||||
expect(content).not.toBeNull();
|
||||
expect(content).toHaveFocus();
|
||||
});
|
||||
|
||||
it("leaves room under the page for the quick-add button on a phone, so it covers no action", () => {
|
||||
pathname = "/suggestions";
|
||||
permissions = ["inspections:create"];
|
||||
|
||||
Reference in new issue
Block a user