Как написать функциональный тест для функции которая использует внешний веб-сервис?
Использую yii2, хочу написать функциональные тесты. Нужно протестировать кнопку "Подтвердить продажу", при нажатии на которую отправляется запрос на внешний веб-сервис, который принадлежит провайдеру, если запрос выполнен успешно - меняется статус заказа в моей локальной базе и пользователю сообщается что заказ успешно подтвержден.
Есть тестовая среда этого внешнего веб-сервиса, но она может быть отключена и т.д. или чтобы подтвердить продажу, заказ должен быть уже создан в этом тестовом внешнем веб-сервисе, но на момент запуска моих тестов с тестовой базой его же там может не быть. Получается мне нужно как-то подменить этот класс который работает с внешним сервисом? И нормально ли это для функциональных тестов?
Может кто-то сталкивался с такой ситуацией?
В своих классах я работаю с этим внешним веб-сервис через клиент, который указан в компонентах в конфиге и вызывается вот так: Yii::$app->provider->approveOrder($order);