Add store location map manager #20
@ -22,7 +22,16 @@ export function LocationMapLoadErrorState({ location, loadError, onBack, onRetry
|
|||||||
<main className="location-map-workspace">
|
<main className="location-map-workspace">
|
||||||
<section className="location-map-setup location-map-load-error" role="alert" aria-live="polite">
|
<section className="location-map-setup location-map-load-error" role="alert" aria-live="polite">
|
||||||
<h2>Map Unavailable</h2>
|
<h2>Map Unavailable</h2>
|
||||||
<p>{loadError}</p>
|
<div className="location-map-setup-rows" role="group" aria-label="Map load status">
|
||||||
|
<div className="location-map-setup-row">
|
||||||
|
<span>Status</span>
|
||||||
|
<strong>Load failed</strong>
|
||||||
|
</div>
|
||||||
|
<div className="location-map-setup-row">
|
||||||
|
<span>Detail</span>
|
||||||
|
<strong>{loadError}</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div className="location-map-setup-actions">
|
<div className="location-map-setup-actions">
|
||||||
<button type="button" className="btn-primary" onClick={onRetry}>
|
<button type="button" className="btn-primary" onClick={onRetry}>
|
||||||
Retry
|
Retry
|
||||||
|
|||||||
@ -923,8 +923,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.location-map-setup-row strong {
|
.location-map-setup-row strong {
|
||||||
|
min-width: 0;
|
||||||
color: #f8fafc;
|
color: #f8fafc;
|
||||||
font-weight: 900;
|
font-weight: 900;
|
||||||
|
text-align: right;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
}
|
}
|
||||||
|
|
||||||
.location-map-setup-actions {
|
.location-map-setup-actions {
|
||||||
|
|||||||
@ -477,7 +477,10 @@ test("load failure shows retryable error instead of no-map setup", async ({ page
|
|||||||
|
|
||||||
const errorCard = page.locator(".location-map-load-error");
|
const errorCard = page.locator(".location-map-load-error");
|
||||||
await expect(errorCard.getByRole("heading", { name: "Map Unavailable" })).toBeVisible();
|
await expect(errorCard.getByRole("heading", { name: "Map Unavailable" })).toBeVisible();
|
||||||
await expect(errorCard.getByText("Map service unavailable")).toBeVisible();
|
const loadStatus = errorCard.getByRole("group", { name: "Map load status" });
|
||||||
|
await expect(loadStatus.locator(".location-map-setup-row", { hasText: "Status" })).toContainText("Load failed");
|
||||||
|
await expect(loadStatus.locator(".location-map-setup-row", { hasText: "Detail" })).toContainText("Map service unavailable");
|
||||||
|
await expect(errorCard.locator("p")).toHaveCount(0);
|
||||||
await expect(page.getByText("Load Error")).toBeVisible();
|
await expect(page.getByText("Load Error")).toBeVisible();
|
||||||
await expect(page.getByRole("heading", { name: "No Map" })).toHaveCount(0);
|
await expect(page.getByRole("heading", { name: "No Map" })).toHaveCount(0);
|
||||||
await expect(page.getByRole("button", { name: /Create From/ })).toHaveCount(0);
|
await expect(page.getByRole("button", { name: /Create From/ })).toHaveCount(0);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user