set('services.bot.tours_enabled', true); config()->set('app.url', 'https://lk.liderra.ru'); config()->set('services.yandexgpt', [ 'api_key' => 'k', 'folder_id' => 'f', 'model' => 'yandexgpt-lite/latest', 'endpoint' => 'https://llm.api.cloud.yandex.net/foundationModels/v1/completion', 'timeout_seconds' => 8, ]); Http::fake([ 'llm.api.cloud.yandex.net/*' => Http::response([ 'result' => ['alternatives' => [['message' => ['role' => 'assistant', 'text' => 'Проект создаётся в разделе «Проекты».']]]], ]), ]); KnowledgeChunk::create([ 'source_path' => 'help/create.md', 'title' => 'Как создать проект', 'tour' => 'create-project', 'topics' => 'создать проект, новый проект', 'chunk_index' => 0, 'content' => 'Проект создаётся в разделе «Проекты», кнопка «Создать».', ]); }); it('клиенту из кабинета экскурсия по теме предлагается', function () { $answer = app(BotAnswerService::class)->answer('как создать проект?', [], fromPortal: true); expect($answer->text)->toContain('https://lk.liderra.ru/?tour=create-project'); }); it('гостю с лендинга экскурсию не предлагаем — ему нечего показывать в кабинете', function () { $answer = app(BotAnswerService::class)->answer('как создать проект?', [], fromPortal: false); expect($answer->text)->not->toContain('?tour='); });