From d78a72c286b4a765da2298aa85a717435e2ef646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sun, 17 May 2026 15:46:01 +0300 Subject: [PATCH] =?UTF-8?q?refactor(deals):=20A9=20review=20nits=20?= =?UTF-8?q?=E2=80=94=20drop=20duplicate=20spec,=20single=20Pinia,=20accura?= =?UTF-8?q?te=20comment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/resources/js/components/deals/DealDetailBody.vue | 2 +- app/tests/Frontend/DealDetailDrawer.spec.ts | 5 +++-- app/tests/Frontend/DealDetailDrawerApi.spec.ts | 6 ------ 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/app/resources/js/components/deals/DealDetailBody.vue b/app/resources/js/components/deals/DealDetailBody.vue index 373e828f..dec04b43 100644 --- a/app/resources/js/components/deals/DealDetailBody.vue +++ b/app/resources/js/components/deals/DealDetailBody.vue @@ -133,7 +133,7 @@ async function saveComment() { } } -// Загрузка при появлении/смене сделки (панель монтируется только при deal != null). +// Загрузка при появлении/смене сделки. Компонент смонтирован всегда — тело (
) рендерится только при deal != null. watch( () => [props.deal?.id, props.tenantId] as const, () => { diff --git a/app/tests/Frontend/DealDetailDrawer.spec.ts b/app/tests/Frontend/DealDetailDrawer.spec.ts index a51d8e6c..127d6500 100644 --- a/app/tests/Frontend/DealDetailDrawer.spec.ts +++ b/app/tests/Frontend/DealDetailDrawer.spec.ts @@ -12,11 +12,12 @@ const deal: MockDeal = { }; function mountDrawer(props: Record) { - setActivePinia(createPinia()); + const pinia = createPinia(); + setActivePinia(pinia); return mount(DealDetailDrawer, { props: { open: true, deal, ...props }, global: { - plugins: [vuetify, createPinia()], + plugins: [vuetify, pinia], stubs: { DealDetailBody: true, VNavigationDrawer: { diff --git a/app/tests/Frontend/DealDetailDrawerApi.spec.ts b/app/tests/Frontend/DealDetailDrawerApi.spec.ts index 4aad5365..9b32bd35 100644 --- a/app/tests/Frontend/DealDetailDrawerApi.spec.ts +++ b/app/tests/Frontend/DealDetailDrawerApi.spec.ts @@ -107,12 +107,6 @@ describe('DealDetailBody ↔ GET /api/deals/{id} integration', () => { expect(items).toHaveLength(0); }); - it('без tenantId → getDeal не вызывается (body загружается по deal/tenantId)', async () => { - factory({}); - await flushPromises(); - expect(dealsApi.getDeal).not.toHaveBeenCalled(); - }); - it('saveComment вызывает updateDeal + toast success + reload events', async () => { const apiResponse: GetDealResponse = { deal: {