Стата «Заявки» из воронки: запись лидов при конверсии
Воронка перестала писать в leads после ребрендинга — блок «Заявки» был всегда 0. Теперь при конверсии (нажал оплату/пробное или передан менеджеру) бот фиксирует заявку в leads (source=bot, имя из VK, услуга = тариф/формат/игра), один раз на заход (флаг lead_recorded сбрасывается при новом старте воронки/интенсива). Разбивка «по тарифу/формату» снова показывает реальные цифры. Статистика почищена: убраны «из бота» (все заявки теперь из бота) и строка «согласны на рассылку» (воронка не собирает это согласие) — не вводят в заблуждение. Тест: test_baza_records_lead_once. pytest 34 passed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -62,6 +62,18 @@ def test_baza_other_game_goes_to_manager(app):
|
||||
assert "Valorant" in _prof(u)["game"]
|
||||
|
||||
|
||||
def test_baza_records_lead_once(app):
|
||||
"""Воронка пишет заявку в leads при конверсии; оплата+проблема = 1 заявка (без дублей)."""
|
||||
u = 70030
|
||||
for m in ["Подобрать тренировку 🎯", "Для себя", "16 лет и старше", "CS2",
|
||||
"Играет для себя", "Групповые тренировки", "Купить 4 тренировки"]:
|
||||
app.handle_message(u, m)
|
||||
app.handle_message(u, "Проблема с оплатой") # тот же заход → не должно создать вторую
|
||||
s = bot.db.get_lead_stats()
|
||||
assert s["total"] == 1 and s["from_bot"] == 1
|
||||
assert any("Групповой" in name for name, _ in s["by_service"])
|
||||
|
||||
|
||||
def test_baza_smart_skip_known_fields(app):
|
||||
"""§15: уже сохранённые ответы не переспрашиваются."""
|
||||
u = 70020
|
||||
|
||||
Reference in New Issue
Block a user