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);