Skip to content

alexk136/systemeio-test

Repository files navigation

Symfony REST Приложение для Расчета Цены Продукта и Проведения Оплаты

Общее Описание

Это RESTful приложение на Symfony предназначено для расчета цены продукта и проведения оплаты. Приложение предоставляет два основных endpoint для обработки запросов.

Стартовая Конфигурация

Адрес Сервиса

Сервис доступен по адресу: http://127.0.0.2

Endpoints

  1. /api/price/calculation - для расчета стоимости продукта.
  2. /api/purchase - для проведения оплаты продукта.
  3. /api/doc - OpenApi дока.

Запуск и Настройка

Запуск Контейнера

Используйте команду composer-docker up для запуска контейнера.

Настройка Базы Данных

После запуска контейнера, выполните следующие команды для настройки базы данных:

  1. php bin/console doctrine:database:create - Создает базу данных.
  2. php bin/console doctrine:schema:create - Создает схему базы данных.
  3. php bin/console doctrine:migration:migrate - Применяет миграции к базе данных.

Данные команды необходимо выполнить внутри PHP контейнера php-fpm-test, например через команду: docker exec php-fpm-test

Тестирование

Использование cURL для Тестирования

Для тестирования сервиса вы можете использовать команды 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. Различные комбинации ошибочных параметров покажут различные ошибки.

Использование Команды app:test для Тестирования

Вы также можете использовать встроенную команду docker exec php-fpm-test bin/console --ansi app:test для запуска набора тестов приложения.

Данная команда использует существующий набор загруженных данных, а так же ошибочные данные в случайном порядке и имеет удобное отображение. А так же в удобнов виде выводит результат работы.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages