refactor: clarify frontend model ownership
This commit is contained in:
@@ -238,6 +238,34 @@ describe("All accounts routes", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it.each(["operations", "events", "income"])(
|
||||
"restores applied dates when switching accounts in %s",
|
||||
async (section) => {
|
||||
const search = "?from=2026-08-01&to=2026-08-31";
|
||||
renderPage(`/accounts/all/${section}${search}`);
|
||||
fireEvent.click(await screen.findByLabelText("Период"));
|
||||
fireEvent.click(
|
||||
await screen.findByRole("button", { name: /10 August 2026/i }),
|
||||
);
|
||||
fireEvent.click(
|
||||
await screen.findByRole("button", { name: /31 August 2026/i }),
|
||||
);
|
||||
expect(screen.getByLabelText("Период")).toHaveTextContent(
|
||||
"10.08.2026 – 31.08.2026",
|
||||
);
|
||||
fireEvent.click(screen.getByRole("combobox", { name: "Счёт" }));
|
||||
fireEvent.click(await screen.findByRole("option", { name: "ИИС" }));
|
||||
await waitFor(() =>
|
||||
expect(screen.getByLabelText("Период")).toHaveTextContent(
|
||||
"01.08.2026 – 31.08.2026",
|
||||
),
|
||||
);
|
||||
expect(screen.getByLabelText("Текущий путь")).toHaveTextContent(
|
||||
`/accounts/b/${section}${search}`,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
it("groups the same security and links its accounts and overview sections", async () => {
|
||||
renderPage("/accounts/all");
|
||||
expect(await screen.findAllByText("Сбербанк")).toHaveLength(1);
|
||||
@@ -312,6 +340,11 @@ describe("All accounts routes", () => {
|
||||
expect(screen.getByLabelText("Текущий путь")).toHaveTextContent(
|
||||
"/accounts/b/operations?from=2026-08-01&to=2026-08-31&categories=income",
|
||||
);
|
||||
await screen.findByText("Первая страница");
|
||||
fireEvent.click(screen.getByRole("combobox", { name: "Счёт" }));
|
||||
fireEvent.click(await screen.findByRole("option", { name: "Все счета" }));
|
||||
await waitFor(() => expect(screen.getByText("Первая страница")).toBeVisible());
|
||||
expect(screen.getByRole("button", { name: "Назад" })).toBeDisabled();
|
||||
});
|
||||
|
||||
it("restarts an expired aggregate cursor without losing filters", async () => {
|
||||
|
||||
@@ -200,42 +200,6 @@ const AppRoutes: FC = () => (
|
||||
path="/accounts"
|
||||
/>
|
||||
|
||||
<Route
|
||||
element={(
|
||||
<LazyPage variant="content">
|
||||
<AccountPage accountId="all" />
|
||||
</LazyPage>
|
||||
)}
|
||||
path="/accounts/all"
|
||||
/>
|
||||
|
||||
<Route
|
||||
element={(
|
||||
<LazyPage variant="content">
|
||||
<AccountOperationsPage accountId="all" />
|
||||
</LazyPage>
|
||||
)}
|
||||
path="/accounts/all/operations"
|
||||
/>
|
||||
|
||||
<Route
|
||||
element={(
|
||||
<LazyPage variant="content">
|
||||
<AccountIncomePage accountId="all" />
|
||||
</LazyPage>
|
||||
)}
|
||||
path="/accounts/all/income"
|
||||
/>
|
||||
|
||||
<Route
|
||||
element={(
|
||||
<LazyPage variant="content">
|
||||
<AccountEventsPage accountId="all" />
|
||||
</LazyPage>
|
||||
)}
|
||||
path="/accounts/all/events"
|
||||
/>
|
||||
|
||||
<Route
|
||||
element={(
|
||||
<LazyPage variant="content">
|
||||
|
||||
Reference in New Issue
Block a user