# Запуск тестов на сервере aqua-delivery

  1. Запускаем сервер api для тестов
docker-compose -f /var/docker/docker-compose.yml exec php bash -c "php -S 127.0.0.1:8080 -t /var/www/aqua-delivery.ru/api/web"
  1. Запускаем сервер apiCourier для тестов
docker-compose -f /var/docker/docker-compose.yml exec php bash -c "php -S 127.0.0.1:8081 -t /var/www/aqua-delivery.ru/apiCourier/web"
  1. Вкладки с запущенными серверами не закрываем и создаем еще одну вкладку в консоли, либо запускаем команды с & на конце, а после тестов убиваем процессы вручную

  2. Прогоняем миграции в тестовой базе

docker-compose -f /var/docker/docker-compose.yml exec php bash -c "cd /var/www/aqua-delivery.ru/ && php yii_test migrate"
  1. Запускаем тесты
docker-compose -f /var/docker/docker-compose.yml exec php bash -c "cd /var/www/aqua-delivery.ru/ && vendor/bin/codecept run"
  1. Смотрим чтоб было все ок, если нет, то смотрим какой тест выполнился с ошибкой(будет крестик напротив теста) далее правим код если что-то не так, если все в коде как надо проверяем актуальность теста и правим тест

  2. Чистим очередь чтоб не захламлять

docker-compose -f /var/docker/docker-compose.yml exec php bash -c "cd /var/www/aqua-delivery.ru/ && php yii_test queue/clear"
  1. Нажимаем control + C во вкладке с запущенным сервером, чтобы заверщить процесс

Запуск одного теста

Бывает что необходимо запустить только один какой-нибудь тест. Для этого можно выполнить следующую команду, вместо команды в пункте 4, ProductSetListCest необходимо заменить на нужный тест

docker-compose -f /var/docker/docker-compose.yml exec php bash -c "cd /var/www/aqua-delivery.ru/api && ../vendor/bin/codecept run api ProductSetListCest"