Налаштування тестування Laravel 12 (PHPUnit + Pest) та написання тестів для JWT-авторизації
Є готовий проект Laravel 12, розгорнутий у Docker. На фронтенді — Nuxt.js, вся авторизація та логіка працюють через API (Tymon JWT). Необхідно налаштувати паралельний запуск PHPUnit і Pest у PhpStorm та написати тести для JWT-авторизації (вхід через форму і через API). За потреби допустимі невеликі правки коду, щоб тести проходили.
Задачі
Конфігурація середовища для тестів у PhpStorm (з боку замовника)
Переконатися, що в Docker-контейнері доступні і PHPUnit, і Pest.
Налаштувати у PhpStorm дві конфігурації запуску:
PHPUnit
Pest
Зробити так, щоб обидва набори тестів можна було запускати паралельно (одночасно) з PhpStorm.
Підготувати та надати файли конфігурації/шаблони для PhpStorm (Run/Debug Configurations) для запуску PHPUnit і Pest.
Написання тестів для JWT-авторизації
Тест через веб-форму:
Відкрити сторінку
/login(або свій маршрут форми).Відправити валідні облікові дані користувача.
Переконатися, що після успішного входу сервер повертає коректний JWT-токен (у куках або в header).
Перевірити, що користувач автоматично перенаправляється (або отримує відповідь) на захищений маршрут.
API-тести (Pest або PHPUnit):
POST /api/auth/loginз реальними даними користувача → відповідь містить полеtokenі статус 200.З використанням отриманого JWT виконати запит до захищеного
GET /api/user(або подібний маршрут) → статус 200 і повертаються дані користувача.Спроба доступу до того ж API без токена → статус 401.
Спроба входу з неправильним паролем → статус 422 (або 401, залежно від налаштувань).
За потреби — коригування коду
Якщо в контролерах або middleware JWT-авторизація налаштована нестандартно, внести мінімальні правки (наприклад, вказати правильний guard, ім’я поля токена, відсутність зайвих редиректів).
Звернути увагу на конфігурацію файлу
config/auth.phpтаconfig/jwt.php(за потреби скоригувати).Провести огляд всього коду проекту та надати рекомендації щодо покращення архітектури, читабельності та безпеки.
Вимоги до виконавця
Впевнений досвід з Laravel 12, Docker-середовищем і PhpStorm.
Знання Pest і PHPUnit: установка, налаштування, запуск у IDE.
Досвід тестування JWT-авторизації (Tymon JWT).
Навички правки коду Laravel для коректної роботи тестів (middleware, guards).
Розуміння, як тестувати HTTP-контролери та API-маршрути.
Матеріали та доступи
Посилання на Git-репозиторій (доступ буде надано після погодження).
Файл Docker Compose з поточним середовищем.
Файл
composer.jsonз залежностями (Pest, tymon/jwt-auth та ін.).Перелік маршрутів для логіна та API (наприклад,
/login,/api/auth/login,/api/user).
-
Vladyslav Freelancehunt
Костянтине, будь ласка, додайте до опису саме посилання на вебсайт, а також вкажіть які сервіси використовуються для його обслуговування.
-
Актуальні фриланс-проєкти в категорії PHP
Прописати мета дані АЛЬТ за допомогою ІІСайт на Laravel, на сайті багато зображень, для яких потрібно прописати коректні за семантикою та релевантні для сторінки АЛЬТ описання зображення в автоматичному режимі, з можливістю перевірки AI та машинне навчання, PHP ∙ 8 годин 30 хвилин тому ∙ 19 ставок |
Доробка сайта на Ocstore 3
700 UAH
Ocstore 3 Шаблон Upstore Поправити деякі моменти https://docs.google.com/document/d/1-TmTo3lh_ElFjPMQCGs2sVCsVSzq-V-Z/edit?usp=sharing&ouid=105344407605205919725&rtpof=true&sd=true Очікую ваші пропозиції PHP, Веб-програмування ∙ 12 годин 10 хвилин тому ∙ 53 ставки |
Потрібен розробник для завершення та інтеграції проєкту з автоматичного збору й обробки данних
700 UAH
Основна частина парсера вже реалізована. Парсер працює на Windows-середовищі через Microsoft Edge: сайт має антибот-захист, тому збір даних виконується не прямими HTTP-запитами, а через живу браузерну сесію. Скрипти керують відкритою вкладкою Edge через Chrome DevTools Protocol,… PHP, Веб-програмування ∙ 14 годин 26 хвилин тому ∙ 19 ставок |
Оновлення плагінів і тем WP сайт putevka.uz«Потрібно провести технічний аудит WordPress-сайту, перевірити актуальність, безпеку та сумісність встановлених плагінів і теми. За результатами — запропонувати легальні варіанти оновлення, заміни застарілих рішень або переходу на офіційно доступні аналоги. Платні плагіни та… HTML та CSS верстання, PHP ∙ 17 годин 2 хвилини тому ∙ 33 ставки |
Інтеграція блоку "Де дивитися" (Laravel / Livewire)Потрібно реалізувати інтеграцію зовнішньої стримінгової платформи для сайту про фільми та серіали на Laravel / Livewire. Що потрібно зробити: Реалізувати імпорт зовнішнього каталогу контенту, який оновлюється 1 раз на день. Виконувати матчинг контенту по IMDb ID та/або TMDB ID.… PHP, Веб-програмування ∙ 1 день 7 годин тому ∙ 36 ставок |