diff --git a/src/widgets/arcane/component.jsx b/src/widgets/arcane/component.jsx index d8a085156..8b58b9e2b 100644 --- a/src/widgets/arcane/component.jsx +++ b/src/widgets/arcane/component.jsx @@ -24,7 +24,8 @@ export default function Component({ service }) { const { data: images, error: imagesError } = useWidgetAPI(widget, "images"); const { data: updates, error: updatesError } = useWidgetAPI(widget, "updates"); - const error = containersError ?? imagesError ?? updatesError; + const error = + containersError ?? imagesError ?? updatesError ?? containers?.detail ?? images?.detail ?? updates?.detail; if (error) { return ; } diff --git a/src/widgets/arcane/component.test.jsx b/src/widgets/arcane/component.test.jsx index cf0533d3b..cb6fe6a5e 100644 --- a/src/widgets/arcane/component.test.jsx +++ b/src/widgets/arcane/component.test.jsx @@ -34,6 +34,16 @@ describe("widgets/arcane/component", () => { expect(screen.getByText("arcane.environment_required")).toBeInTheDocument(); }); + it("shows an error when API calls return detail errors", () => { + useWidgetAPI.mockImplementation(() => ({ data: { detail: "Specific API error" }, error: undefined })); + + renderWithProviders(, { + settings: { hideErrors: false }, + }); + + expect(screen.getByText("Specific API error")).toBeInTheDocument(); + }); + it("renders placeholders while loading data", () => { useWidgetAPI.mockImplementation(() => ({ data: undefined, error: undefined }));