обзвон: добавлен сторож начального состояния меню — прежние его не ловили

Проверка вырезанием показала дыру: я вернул пункт ИИ колцентра обратно в общий
список, то есть саму беду, — и все 27 сторожей остались зелёными. Каждый из них
начинался со сброса тумблера и потому ни разу не смотрел на список таким, каким
его видит браузер при загрузке страницы.

А видит он именно его: звать тумблер сегодня некому. Новый сторож грузит список
начисто и смотрит на него до всякого вызова. Под тем же вырезанием он краснеет.
This commit is contained in:
Дмитрий
2026-08-08 19:40:27 +03:00
parent 3a8651b783
commit 4f5c5ccd6d
+22 -1
View File
@@ -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);