Files
portal/app/tests/Feature/ClientSms
Дмитрий 82ffa17a24 test: денежная проверка приёмника МТС считает проводки своего клиента, а не всей базы
Тест «денег НЕ двигает» падал только в полном прогоне: ждал ноль проводок
по всей таблице, а видел 19. Поодиночке был зелёный - значит виноват не он
и не код приёмника.

Виновник найден и назван: тридцать файлов рекламной папки идут БЕЗ отката.
Откат им не выдаётся и оптом - в tests/Pest.php строка RefreshDatabase
закомментирована. Их проводки остаются в базе и достаются соседям.
По всей папке Feature таких файлов 96 из 580.

Датчик, которым нашёл: после прогона папки смотреть остаток в базе снаружи,
через psql. База пересобирается в начале прогона, поэтому всё, что осталось
после - вина этого прогона. Три папки, четыре минуты, ровно те же 19 строк,
и они видны поимённо: пополнения и заморозки рекламных кампаний.

Правка узкая: считаем проводки СВОЕГО клиента. Смысл проверки не изменился -
приёмник не имеет права двигать деньги клиента, чьё сообщение он тронул.

Приёмка вырезанием: заставил приёмник вернуть деньги этому же клиенту -
тест покраснел; убрал - позеленел. Боевой код не тронут, git diff по app/app
пуст. Прогон трёх папок: 989 из 989 зелёных, при том что 19 чужих строк
в базе так и лежат - тест к соседям больше не чувствителен.

Сама грязь НЕ убрана: файлы без отката - отдельная работа, делать её
вслепую нельзя, части тестов записанные данные нужны по существу.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 21:37:52 +03:00
..