Files
portal/app/tests/Feature/Bot/GuidesPageRouteTest.php
T
Дмитрий 27bf64a885 feat(bot): гостю 60 вопросов в первый час, дальше 30 + страница разборов через портал
Лимиты гостя по решению владельца: разговорился — пусть говорит (60 вопросов в
первый час), но если завис в чате на весь день — тормозим до 30 в час, иначе один
посетитель съест дневной бюджет. Потолок одного разговора поднят 40 → 150 (иначе
«60 в час» упиралось бы в обрыв разговора).

Страница разборов «Как это работает» отдаётся самим порталом по адресу
/kak-eto-rabotaet: на боевом nginx отдаёт лендинг только по «/», все остальные пути
уходят в портал — значит, конфиги сервера трогать не нужно.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 13:46:15 +03:00

28 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
/**
* Страница разборов «Как это работает» — единственное, что бот присылает ГОСТЮ.
* На боевом лендинг отдаётся только по адресу «/», все остальные пути уходят в портал,
* поэтому страницу отдаёт сам портал по красивому адресу /kak-eto-rabotaet (nginx не трогаем).
*/
it('страница разборов открывается гостю по адресу /kak-eto-rabotaet', function () {
$page = public_path('kak-eto-rabotaet.html');
expect(file_exists($page))->toBeTrue('Страница разборов должна лежать в public/kak-eto-rabotaet.html');
$response = $this->get('/kak-eto-rabotaet');
$response->assertOk();
expect($response->headers->get('content-type'))->toContain('text/html');
// Страница отдаётся файлом (BinaryFileResponse), тело в тесте пустое — смотрим сам файл.
expect(file_get_contents($page))->toContain('Как это работает');
});
it('страница разборов не требует входа в кабинет', function () {
// Гость с лендинга не аутентифицирован — если маршрут случайно попадёт под auth,
// бот будет слать людей на страницу входа.
$this->get('/kak-eto-rabotaet')->assertOk();
});