diff --git a/web/src/pages/DomainsPage.test.tsx b/web/src/pages/DomainsPage.test.tsx index 2b2f402..bce0253 100644 --- a/web/src/pages/DomainsPage.test.tsx +++ b/web/src/pages/DomainsPage.test.tsx @@ -80,6 +80,19 @@ test("привязка шаблона в строке домена вызыва await waitFor(() => expect(setTemplateSpy).toHaveBeenCalledWith("d1", "t1")) }) +test("ошибка привязки шаблона отображается пользователю", async () => { + vi.spyOn(api, "setDomainTemplate").mockRejectedValue(new Error("Не удалось привязать шаблон")) + const user = userEvent.setup() + renderPage() + + await screen.findByText("example.com.") + + await user.click(screen.getByRole("combobox", { name: /example\.com\./i })) + await user.click(await screen.findByRole("option", { name: /^standard$/i })) + + expect(await screen.findByRole("alert")).toHaveTextContent("Не удалось привязать шаблон") +}) + test("пустое состояние при отсутствии доменов", async () => { vi.spyOn(api, "listDomains").mockResolvedValue([]) renderPage() diff --git a/web/src/pages/DomainsPage.tsx b/web/src/pages/DomainsPage.tsx index 3542352..580f23e 100644 --- a/web/src/pages/DomainsPage.tsx +++ b/web/src/pages/DomainsPage.tsx @@ -111,6 +111,17 @@ export function DomainsPage() { )} + {setTemplate.isError && ( + + {setTemplate.error?.message} + + )} + {deleteDomain.isError && ( + + {deleteDomain.error?.message} + + )} + {domainList.length === 0 ? (