diff --git a/driver-pwa/frontend/src/api/driver.ts b/driver-pwa/frontend/src/api/driver.ts
index 68dc072..19af05a 100644
--- a/driver-pwa/frontend/src/api/driver.ts
+++ b/driver-pwa/frontend/src/api/driver.ts
@@ -15,6 +15,7 @@ export const TopupSchema = z.object({
order_id: z.string(), pay_url: z.string(), commission: z.number(), total: z.number(),
});
export const PaymentStateSchema = z.object({ order_id: z.string(), status: z.string() });
+export const CommissionSchema = z.object({ rate: z.number() });
export const PaymentsSchema = z.object({
payments: z.array(z.object({
order_id: z.string(), bucket: z.string(), amount: z.number(), commission: z.number(),
@@ -35,3 +36,5 @@ export const getPaymentState = async (orderId: string) =>
PaymentStateSchema.parse(await api.get(`driver/payment/${orderId}`).json());
export const getPayments = async () =>
PaymentsSchema.parse(await api.get("driver/payments").json());
+export const getCommission = async () =>
+ CommissionSchema.parse(await api.get("driver/commission").json());
diff --git a/driver-pwa/frontend/src/pages/TopupPage.test.tsx b/driver-pwa/frontend/src/pages/TopupPage.test.tsx
index 01b367a..2e46485 100644
--- a/driver-pwa/frontend/src/pages/TopupPage.test.tsx
+++ b/driver-pwa/frontend/src/pages/TopupPage.test.tsx
@@ -2,14 +2,23 @@ import { describe, it, expect, vi } from "vitest";
import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { MemoryRouter } from "react-router-dom";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
vi.mock("@/api/driver", () => ({
topup: vi.fn(async () => ({ order_id: "o9", pay_url: "https://qr.nspk.ru/x", commission: 52, total: 1052 })),
+ getCommission: vi.fn(async () => ({ rate: 0.052 })),
}));
import { TopupPage } from "./TopupPage";
import * as driver from "@/api/driver";
-const wrap = () => render(
{formatMoney(base)}
- к оплате {formatMoney(total)} (комиссия {formatMoney(commission)}) + к оплате {formatMoney(total)} (комиссия {formatMoney(fee)})