Это RESTful приложение на Symfony предназначено для расчета цены продукта и проведения оплаты. Приложение предоставляет два основных endpoint для обработки запросов.
Сервис доступен по адресу: http://127.0.0.2
/api/price/calculation
- для расчета стоимости продукта./api/purchase
- для проведения оплаты продукта./api/doc
- OpenApi дока.
Используйте команду composer-docker up
для запуска контейнера.
После запуска контейнера, выполните следующие команды для настройки базы данных:
php bin/console doctrine:database:create
- Создает базу данных.php bin/console doctrine:schema:create
- Создает схему базы данных.php bin/console doctrine:migration:migrate
- Применяет миграции к базе данных.
Данные команды необходимо выполнить внутри PHP контейнера php-fpm-test
, например через команду:
docker exec php-fpm-test
Для тестирования сервиса вы можете использовать команды cURL. Примеры использования:
-
Расчет Цены:
curl -X POST -H "Content-Type: application/json" \ -d '{"product": 1, "taxNumber": "DE123456789", "couponCode": "D15"}' \ http://127.0.0.2/api/price/calculation
-
Проведение Оплаты:
curl -X POST -H "Content-Type: application/json" \ -d '{"product": 1, "taxNumber": "DE123456789", "couponCode": "D15", "paymentProcessor": "paypal"}' \ http://127.0.0.2/api/purchase
Можно использовать Postman с типом form-data.
Для проверки ошибок, можно использовать не валидный paymentProcessor
, taxNumber
, paymentProcessor
или поле product
больше 4.
Различные комбинации ошибочных параметров покажут различные ошибки.
Вы также можете использовать встроенную команду
docker exec php-fpm-test bin/console --ansi app:test
для запуска набора тестов приложения.
Данная команда использует существующий набор загруженных данных, а так же ошибочные данные в случайном порядке и имеет удобное отображение. А так же в удобнов виде выводит результат работы.