feat(investments): warn and offer retry after exhausted read retries (WealthLedger/frontend#55) (#136)
This commit was merged in pull request #136.
This commit is contained in:
@@ -347,7 +347,6 @@ describe("bond page", () => {
|
||||
it("keeps market content and sold-position history when coupons fail", async () => {
|
||||
setup({ failCoupons: true, noPosition: true });
|
||||
await screen.findByText("98,125 %");
|
||||
expect(screen.queryByRole("button", { name: "Повторить" })).not.toBeInTheDocument();
|
||||
expect(
|
||||
screen.queryByRole("heading", { name: "Моя позиция" }),
|
||||
).not.toBeInTheDocument();
|
||||
@@ -355,6 +354,22 @@ describe("bond page", () => {
|
||||
screen.getByRole("heading", { name: "Моя история событий" }),
|
||||
).toBeVisible();
|
||||
});
|
||||
it(
|
||||
"offers a local retry for the failed coupons section only",
|
||||
{ timeout: 10_000 },
|
||||
async () => {
|
||||
setup({ failCoupons: true });
|
||||
await screen.findByText("98,125 %");
|
||||
// Automatic read retries wait 1s + 2s before the failure is final.
|
||||
await screen.findByRole(
|
||||
"button",
|
||||
{ name: "Повторить" },
|
||||
{ timeout: 6000 },
|
||||
);
|
||||
expect(screen.getAllByRole("button", { name: "Повторить" })).toHaveLength(1);
|
||||
expect(screen.getByText("98,125 %")).toBeVisible();
|
||||
},
|
||||
);
|
||||
it("preserves cached quote without manual refresh", async () => {
|
||||
const controls = setup({ path: `/bonds/${uid}?period=year&events=trades` });
|
||||
await screen.findByText("98,125 %");
|
||||
|
||||
Reference in New Issue
Block a user