maksmaggot/drom-test-client

drom test client for example.com api

1.0.2 2020-05-19 09:33 UTC

README

drom-test-client

Задание: Необходимо реализовать клиент для абстрактного (вымышленного) сервиса комментариев "example.com". Проект должен представлять класс или набор классов, который будет делать http запросы к серверу. На выходе должна получиться библиотека, который можно будет подключить через composer к любому другому проекту. У этого сервиса есть 3 метода: GET http://example.com/comments - возвращает список комментариев POST http://example.com/comment - добавить комментарий. PUT http://example.com/comment/{id} - по идентификатору комментария обновляет поля, которые были в в запросе

Объект comment содержит поля: id - тип int. Не нужно указывать при добавлении. name - тип string. text - тип string.

Написать phpunit тесты, на которых будет проверяться работоспособность клиента. Сервер example.com писать не надо! Только библиотеку для работы с ним.

Для запуска тестов:

установить зависимости: composer install запустить тесты: make run-tests

Для установки в проект:

composer require maksmaggot/drom-test-client

Пример использования:

<?php

require 'vendor/autoload.php';
$client = new Client\ExampleClient();

try {
// Получаем список комментариев
    $comments = $client->getComments();

// создаём комментарий
    $client->createComment('Vasilii', 'Yeap!');

// обновляем комментарий
    $client->updateComment('5', 'Iaksim', 'Hello there!');

} catch (Exception $e) {
    new \RuntimeException($e->getMessage());
}