From 4f5c5ccd6d4295dacca66cc71780a1ccd6ccc8f0 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: Sat, 8 Aug 2026 19:40:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=B7=D0=B2=D0=BE=D0=BD:=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B6=20=D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BC=D0=B5=D0=BD=D1=8E=20=E2=80=94=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B6=D0=BD=D0=B8=D0=B5=20=D0=B5=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=BB=D0=BE=D0=B2=D0=B8=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проверка вырезанием показала дыру: я вернул пункт ИИ колцентра обратно в общий список, то есть саму беду, — и все 27 сторожей остались зелёными. Каждый из них начинался со сброса тумблера и потому ни разу не смотрел на список таким, каким его видит браузер при загрузке страницы. А видит он именно его: звать тумблер сегодня некому. Новый сторож грузит список начисто и смотрит на него до всякого вызова. Под тем же вырезанием он краснеет. --- app/tests/Frontend/obzvon-vidimost.spec.ts | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/app/tests/Frontend/obzvon-vidimost.spec.ts b/app/tests/Frontend/obzvon-vidimost.spec.ts index a22c83af..4c58eb2e 100644 --- a/app/tests/Frontend/obzvon-vidimost.spec.ts +++ b/app/tests/Frontend/obzvon-vidimost.spec.ts @@ -1,4 +1,4 @@ -import { describe, it, expect, beforeEach } from 'vitest'; +import { describe, it, expect, beforeEach, vi } from 'vitest'; import { AD_CHANNELS, TESTID_OBZVONA, @@ -36,6 +36,27 @@ describe('видимость пункта «ИИ колцентр»', () => { expect(estObzvon()).toBe(false); }); + it('🔴🔴 пункта нет в списке С САМОГО НАЧАЛА — до любого вызова тумблера', async () => { + // 🔴 ЭТОТ СТОРОЖ ЗАВЕДЁН ПОТОМУ, ЧТО ОСТАЛЬНЫЕ НЕ ПОКРАСНЕЛИ. + // + // Проверка вырезанием 08.08.2026: я вернул «ИИ колцентр» обратно в общий + // список — то есть ровно ту беду, от которой заводился замок, — и ВСЕ 27 + // сторожей остались зелёными. Причина: каждый из них начинается с + // `primenitVidimostObzvona(false)`, который пункт убирает. Они проверяли + // тумблер и ни один — начальное состояние списка. + // + // А начальное состояние тут и есть главное: позвать тумблер сегодня некому + // (это делает З-4.1). Значит клиент видит РОВНО ТО, что лежит в списке при + // загрузке страницы. Верни кто-нибудь пункт в список — и он появится у всех. + // + // Поэтому модуль загружается заново, начисто, и смотрится ДО всякого вызова. + vi.resetModules(); + const svezhiy = await import('../../resources/js/components/layout/advertisingChannels'); + + expect(svezhiy.AD_CHANNELS.some((c) => c.testid === svezhiy.TESTID_OBZVONA)).toBe(false); + expect(svezhiy.AD_CHANNELS.map((c) => c.title)).not.toContain('ИИ колцентр'); + }); + it('🔴 модуль открыт этому клиенту — пункт появляется, и ПЕРВЫМ в разделе', () => { primenitVidimostObzvona(true);