Имеется HTTP API: https://morpher.ru/ws3/
Для него есть несколько клиентских библиотек на разных языках программирования:
По аналогии с ними нужно сделать Composer-пакет, включающий библиотеку функций на PHP для вызова всех функций HTTP API. Можно взять за основу вот этот код.
Решение оформить в виде пул-реквеста к этому (пока пустому) репозиторию.
Решение должно включать в себя:
Тесты должны выполняться в CI-среде вроде TravisCI, GitHub Actions или AppVeyor (мне ближе AppVeyor). Файлы конфигурации CI-среды (appveyor.yml и подобные) должны быть внутри репозитория.
Код библиотеки должен быть совместим с PHP 7+.
Юнит-тесты
На каждый тип запроса (эндпойнт) нужны как минимум такие тесты:
- проверка правильности составления запроса к WS3
- проверка правильности разбора ответа WS3
- проверка возбуждения исключений в случае ошибочного ответа WS3 - по тесту на каждый код ошибки 4xx (завести отдельный тип исключения на каждый код ошибки)
- проверка возбуждения исключений в случае неожиданного ответа WS3 (500, таймаут, невалидный JSON).
Имеется HTTP API: https://morpher.ru/ws3/
Для него есть несколько клиентских библиотек на разных языках программирования:
По аналогии с ними нужно сделать Composer-пакет, включающий библиотеку функций на PHP для вызова всех функций HTTP API. Можно взять за основу вот этот код.
Решение оформить в виде пул-реквеста к этому (пока пустому) репозиторию.
Решение должно включать в себя:
Тесты должны выполняться в CI-среде вроде TravisCI, GitHub Actions или AppVeyor (мне ближе AppVeyor). Файлы конфигурации CI-среды (appveyor.yml и подобные) должны быть внутри репозитория.
Код библиотеки должен быть совместим с PHP 7+.
Юнит-тесты
На каждый тип запроса (эндпойнт) нужны как минимум такие тесты: