feat(bot): личный вопрос вошедшего отвечается по карточке, гостю — вход в кабинет

This commit is contained in:
Дмитрий
2026-07-13 11:48:39 +03:00
parent 8da2e8c219
commit d5ad30b3dc
5 changed files with 121 additions and 24 deletions
@@ -45,14 +45,17 @@ function chatTurn(string $chatId, string $text): void
(new ProcessChatMessageJob($chatId, (int) $row->id, $text))->handle();
}
it('эскалация просит телефон', function () {
it('личный вопрос без карточки фактов → приглашение в кабинет, телефон не просим', function () {
// Правило изменено 13.07.2026: ProcessChatMessageJob карточку фактов ClientFacts пока
// не передаёт (отдельная задача) — с точки зрения BotAnswerService это гость, и на
// личный вопрос он получает приглашение войти в кабинет, а не просьбу телефона.
Mail::fake();
chatTurn('chat-c1', 'какой у меня баланс?');
$out = BotDialog::where('direction', 'out')->firstOrFail();
expect($out->escalated)->toBeTrue()
->and($out->message)->toContain('номер телефона');
expect($out->escalated)->toBeFalse()
->and($out->message)->toContain('личном кабинете');
Mail::assertNothingSent();
});