Files
portal/app/tests/Feature/ShortLinksTest.php
T

37 lines
1.5 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
/**
* Короткие ссылки для рассылок (spec 2026-07-13 §7): в смс дорог каждый символ,
* поэтому вместо длинного хвоста с метками даём liderra.ru/s — он сам подставит
* канал и дату рассылки, и учёт увидит смс отдельно от прямых заходов.
*/
test('/s ведёт на лендинг с меткой смс и датой рассылки', function () {
$r = $this->get('/s');
$r->assertRedirect();
$url = $r->headers->get('Location');
expect($url)->toContain('utm_source=sms');
expect($url)->toContain('utm_medium=sms');
expect($url)->toContain('utm_campaign='.now()->format('d-m'));
expect($url)->toStartWith('https://liderra.ru/?');
});
test('/hh ведёт на лендинг с меткой вакансии', function () {
$url = (string) $this->get('/hh')->headers->get('Location');
expect($url)->toContain('utm_source=hh')->toContain('utm_medium=vacancy');
});
test('/tg ведёт на лендинг с меткой телеграма', function () {
$url = (string) $this->get('/tg')->headers->get('Location');
expect($url)->toContain('utm_source=tg');
});
test('переход по короткой ссылке — постоянный редирект (302), не ломает историю браузера', function () {
$this->get('/s')->assertStatus(302);
});