Keep route drawings in sync
Test and publish container images / test (push) Successful in 2m26s
Test and publish container images / publish (push) Successful in 1m16s

This commit is contained in:
BuTzZ
2026-07-31 07:45:06 +02:00
parent 6cd697abfa
commit 6801fa9089
6 changed files with 258 additions and 31 deletions
+38 -1
View File
@@ -383,6 +383,7 @@ describe("RoutePlanner", () => {
});
it("opens the compact result view and keeps critical warnings above secondary route details", () => {
const onEditRoute = vi.fn();
const result = {
...routeOption("primary", "Hauptroute", 4),
warnings: [
@@ -411,6 +412,7 @@ describe("RoutePlanner", () => {
onClearDestination={vi.fn()}
onUseGpsAsStart={vi.fn()}
onSelectRoute={vi.fn()}
onEditRoute={onEditRoute}
onCollapse={vi.fn()}
/>
);
@@ -422,9 +424,44 @@ describe("RoutePlanner", () => {
expect(screen.queryByRole("button", { name: "Start auf Karte setzen" })).not.toBeInTheDocument();
fireEvent.click(screen.getByRole("button", { name: "Plan ändern" }));
expect(onEditRoute).toHaveBeenCalledTimes(1);
expect(screen.getByText("Route planen")).toBeVisible();
expect(screen.getByRole("button", { name: "Start auf Karte setzen" })).toBeVisible();
expect(screen.getByRole("button", { name: "Zur Route" })).toBeVisible();
});
it("explicitly discards a planned route through the parent state", () => {
const onCancelRoute = vi.fn();
const result = routeOption("primary", "Hauptroute", 4);
render(
<RoutePlanner
startPoint={{ lat: 52, lon: 7 }}
gpsPosition={null}
destination={{ lat: 52, lon: 7.1 }}
result={result}
routeOptions={[result]}
weatherReport={null}
weatherLoading={false}
weatherError={null}
loading={false}
error={null}
pickMode={null}
onSubmit={vi.fn()}
onPickStart={vi.fn()}
onPickDestination={vi.fn()}
onClearStart={vi.fn()}
onClearDestination={vi.fn()}
onUseGpsAsStart={vi.fn()}
onSelectRoute={vi.fn()}
onCancelRoute={onCancelRoute}
onCollapse={vi.fn()}
/>
);
fireEvent.click(screen.getByRole("button", { name: "Route verwerfen" }));
expect(onCancelRoute).toHaveBeenCalledTimes(1);
expect(screen.getByText("Route planen")).toBeVisible();
});
it("filters retired fairway and depth warnings from route results", () => {