feat: add quiet reading with rare confirmations
Part of the quiet-user-feedback change; docs and specs land in their own repositories.
This commit is contained in:
+11
-11
@@ -127,9 +127,11 @@ describe("TbankConnectionSection", () => {
|
||||
const token = screen.getByLabelText("Token T-Bank");
|
||||
fireEvent.change(token, { target: { value: "replacement-draft" } });
|
||||
finishRefetch?.();
|
||||
expect(
|
||||
await screen.findByText(/Не удалось обновить статус подключения/),
|
||||
).toBeVisible();
|
||||
await waitFor(() => {
|
||||
expect(
|
||||
screen.queryByText(/Не удалось обновить статус подключения/),
|
||||
).not.toBeInTheDocument();
|
||||
});
|
||||
expect(screen.getByLabelText("Token T-Bank")).toBe(token);
|
||||
expect(token).toHaveValue("replacement-draft");
|
||||
expect(screen.getByText("Подключено с 14.08.2026")).toBeVisible();
|
||||
@@ -139,7 +141,6 @@ describe("TbankConnectionSection", () => {
|
||||
expect(client.getQueryData(portfolioQueryKey)).toEqual({
|
||||
source: "previous-connection",
|
||||
});
|
||||
fireEvent.click(screen.getByRole("button", { name: "Повторить" }));
|
||||
await waitFor(() => expect(reads).toBe(2));
|
||||
await waitFor(() =>
|
||||
expect(
|
||||
@@ -164,13 +165,12 @@ describe("TbankConnectionSection", () => {
|
||||
}),
|
||||
);
|
||||
renderSection(createTestQueryClient());
|
||||
expect(
|
||||
await screen.findByText(/Не удалось загрузить статус подключения/),
|
||||
).toBeVisible();
|
||||
expect(screen.queryByLabelText("Token T-Bank")).not.toBeInTheDocument();
|
||||
fireEvent.click(screen.getByRole("button", { name: "Повторить" }));
|
||||
expect(await screen.findByLabelText("Token T-Bank")).toBeVisible();
|
||||
expect(reads).toBe(2);
|
||||
await waitFor(() => {
|
||||
expect(
|
||||
screen.queryByText(/Не удалось загрузить статус подключения/),
|
||||
).not.toBeInTheDocument();
|
||||
});
|
||||
expect(reads).toBe(1);
|
||||
});
|
||||
it("commits connection status and resets the complete brokerage query subtree after connecting", async () => {
|
||||
const client = seededClient();
|
||||
|
||||
+7
@@ -1,3 +1,4 @@
|
||||
import { notifications } from "@mantine/notifications";
|
||||
import { useQueryClient } from "@tanstack/react-query";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import { useForm } from "react-hook-form";
|
||||
@@ -32,6 +33,12 @@ function useTbankConnectionSectionLoadedVm(status: TbankConnectionStatus) {
|
||||
onSuccess: (data) => {
|
||||
commitTbankConnectionBoundary(queryClient, data);
|
||||
reset();
|
||||
|
||||
if (status.connected && data.connected)
|
||||
notifications.show({
|
||||
id: "tbank-token-replaced-" + crypto.randomUUID(),
|
||||
message: t("tbank.tokenReplaced"),
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user