5b7d6e1bab
Строка приёмочного листа 2.3. Раньше номер с НЕИЗВЕСТНЫМ оператором и номер чужого оператора давали одну причину, и клиент читал про свой номер неправду: «не из МТС» — хотя чей он, мы не знаем. Теперь причины две, и обе правдивы. Так приходит большинство таких номеров: вписанные руками — без оператора всегда, номера «своей базы» — до того, как ДаДата его проставит. Причина живёт в четырёх местах, а не в трёх, как считал план: отборщик, читатель снимка (журнал рассылки) и ДВА словаря подписей на экране. Счётчик в контроллере складывает любые причины — править нечего. Два капкана, оба доказаны вырезанием, а не рассуждением: Порядок проверок. Отсеивать номер сразу, как только оператор не распознан (так велел план), нельзя: универсальный канал берёт и номер без оператора, и такие номера перестали бы уходить — рассылка молча уменьшилась бы при зелёных тестах. Сперва спрашиваем маршрутизатор, причину называем только после отказа. Поведение не изменилось ни на волос — изменилась надпись. Деление. Словарь операторов отдаёт пустоту и когда оператора нет, и когда имя есть, но словарь его не знает («Тинькофф Мобайл»). Делим по сырому значению, иначе получилось бы новое враньё в другую сторону. Тесты: +5 (три причины врозь, сторож универсального канала, журнал рассылки — чтобы предпросмотр и журнал не расходились в словах). ClientSms 165/165, приём лидов 17/17, фронт 1656 зелёных, phpstan 0, pint и eslint чисто. Живой прогон: одна сводка сразу показывает и правду, и контроль — «Уйдёт 1 СМС — 9.00 ₽ · Не уйдёт: не определён оператор — не знаем, куда слать — 1 · номер не из МТС (пока шлём только по МТС) — 1». В журнале рассылки та же правда. Экран пока НЕ подсказывает, что оператор ещё выясняется — отдельная работа, записана в «Чего эта работа НЕ делает» п.16.