Чистка старого ИКП-флоу: удалены форма-заявка, карьера/вакансии, меню FAQ и осиротевшая админка

Из ТЗ Кибершколы БАЗА эти сценарии заменены воронкой подбора, поэтому убран мёртвый код:
- клиентские FSM: FORM_* (форма-заявка, возвращающийся клиент, редактирование, согласия,
  выбор услуги, карусель) и VAC_* (карьера: игроки/сотрудники);
- меню «Частые вопросы» и config.FAQ_ANSWERS;
- осиротевшая админка: управление услугами + карусель, вакансии, кандидаты
  (в панели и в мастере ADMIN_SVC_*/ADMIN_VAC_*), блок статистики по откликам;
- старый _handoff_to_operator и _notify_operator_about_lead (заменены _baza_to_manager);
- неиспользуемые клавиатуры (форма/услуги/вакансии/согласия) и импорты (validators, random, string).

Оставлено (используется/по ТЗ): воронка БАЗА, быстрые ответы (custom_faq), стата по лидам,
рассылка, управление админами, чат с оператором, логотип. Слой БД не тронут — существующие
установки не ломаются (таблицы services/applications/vacancy_options просто не используются).

bot.py: -1490 строк. Тесты: pytest 28 passed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kenik
2026-07-18 18:36:38 +03:00
parent 60199fb47b
commit 74a855819d
4 changed files with 21 additions and 1759 deletions
-23
View File
@@ -109,21 +109,6 @@ def _admin():
return bot.config.SUPER_ADMIN_IDS[0]
def test_admin_services_crud(app):
a = _admin()
app.handle_message(a, "Управление услугами ⚙️")
app.handle_message(a, " Добавить услугу")
app.handle_message(a, "Тест-у | 1 ₽ | описание")
nid = [k for k, v in bot.db.get_services().items() if v["name"] == "Тест-у"]
assert nid
n = nid[0]
app.handle_message(a, "✏️ Изменить услугу"); app.handle_message(a, f"{n}. Тест-у")
app.handle_message(a, "цена | 999 ₽")
assert bot.db.get_services()[n]["price"] == "999 ₽"
app.handle_message(a, "🗑 Удалить услугу"); app.handle_message(a, f"{n}. Тест-у")
assert n not in bot.db.get_services()
def test_admin_faq_crud(app):
a = _admin()
app.handle_message(a, "Быстрые ответы 💬")
@@ -132,14 +117,6 @@ def test_admin_faq_crud(app):
assert any(kw == "вопрос" for _, kw, _ in bot.db.get_custom_faq())
def test_admin_vacancy_crud(app):
a = _admin()
app.handle_message(a, "Вакансии 💼")
app.handle_message(a, " Вакансия игрок")
app.handle_message(a, "Valorant 🎯")
assert any(l == "Valorant 🎯" for _, l in bot.db.get_vacancy_options("player"))
def test_admin_add_remove_admin(app):
a = _admin()
app.handle_message(a, "Администраторы 👑")