From 2ab45e8c2874ac8449daf63d57b27995d1ae0eb0 Mon Sep 17 00:00:00 2001 From: AnthonyAxenov Date: Thu, 15 Dec 2022 09:34:57 +0800 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BE=D1=87=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B4=D0=BE=D0=BA=D0=B0=D0=BC,=20TODO=20=D0=B2=20READ?= =?UTF-8?q?ME?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 ++++++++++++++-- docs/collection.md | 8 ++++---- docs/entity.md | 6 +++--- docs/monitoring.md | 3 ++- docs/readme.md | 10 ++++------ 5 files changed, 27 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index d5755dd..348569a 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,20 @@ Для запуска тестов необходимо перейти в корень репозитория и выполнить одну из команд: ```bash -composer test # обычное тестирование -composer coverage # тестирование с покрытием +composer psalm # статический анализ +composer phpcs # синтаксический анализ +composer test # полное тестирование без покрытия +composer coverage # полное тестирование с покрытием ``` После тестирования с покрытием в корне репозитория создаётся отчёт, который сохраняется в директории `.coverage`. +Для тестирования с покрытием необходим `php-xdebug` с параметром `xdebug.mode = coverage,...`. + +# TODO + +* [ ] Поддержка логирования через psr/log (psr-3) +* [ ] Поддержка кеширования через psr/cache (psr-6) +* [ ] Поддержка сторонних клиентов через psr/http-client (psr-18), отвязка от Guzzle +* [ ] События +* [ ] Поддержка ФФД 1.2 (разделение версий библиотеки по веткам?) +* [ ] ... diff --git a/docs/collection.md b/docs/collection.md index 1c0a8b6..a229135 100644 --- a/docs/collection.md +++ b/docs/collection.md @@ -4,11 +4,11 @@ --- -Коллекциями являются объекты, способные хранить в себе [сущности](entity.md). Они унаследованы -от `Illuminate/Support/Collection` и полностью поддерживают все -[стандартные методы коллекций Laravel](https://laravel.com/docs/master/collections). +Коллекциями являются объекты, способные хранить в себе [сущности](entity.md). +Они унаследованы от `Illuminate/Support/Collection` и полностью поддерживают все +[стандартные методы](https://laravel.com/docs/master/collections) коллекций Laravel. -Помимо этого, они валидируют количество и вид сущностей, которые могут хранить в себе, согласно схеме АТОЛ Онлайн API. +Помимо этого, они валидируют количество и вид сущностей, которые могут хранить в себе, согласно схеме API АТОЛ Онлайн. Коллекции ведут себя аналогично самим сущностям в части приведения к массивам и json-ификации. diff --git a/docs/entity.md b/docs/entity.md index 76c79bc..234c9d2 100644 --- a/docs/entity.md +++ b/docs/entity.md @@ -4,10 +4,10 @@ --- -Сущностями являются все классы, которые необходимы для взаимодействия с API. Они находятся в директори `src/Entities` и -расширяют абстрактный класс `AtolOnline\Entities\Entity`. +Сущностями являются все классы, которые необходимы для взаимодействия с API. +Они находятся в директори `src/Entities` и расширяют абстрактный класс `AtolOnline\Entities\Entity`. -Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы АТОЛ Онлайн API. +Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы API АТОЛ Онлайн. Ниже перечислены возможности сущностей. diff --git a/docs/monitoring.md b/docs/monitoring.md index 3bb81ce..84f9550 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -48,7 +48,8 @@ $monitor->setTestMode(false); $kkts = $monitor->getAll(); ``` -В ответе будет итерируемая коллекция объектов `AtolOnline\Entities\Kkt`. Каждый из этих объектов содержит атрибуты: +В ответе будет итерируемая коллекция объектов `AtolOnline\Entities\Kkt`. +Каждый из этих объектов содержит атрибуты: ```php // для примера получим первую ККТ из всех diff --git a/docs/readme.md b/docs/readme.md index 9b95680..54a68ce 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -1,7 +1,6 @@ # Документация к библиотеке - ## Содержание * [Общий алгоритм](#getstarted) @@ -14,11 +13,10 @@ Если вы нашли опечатку или какое-то несоответствие — делайте pull-request. - ## Общий алгоритм -1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`, добавив в него все необходимые - данные +1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`, +добавив в него все необходимые данные 2. Отправить документ на регистрацию: 2.1. *Необязательно:* при отправке задать `callback_url`, на который АТОЛ отправит HTTP POST о состоянии документа; 2.2. *Необязательно:* при отправке задать `external_id`, чтобы присвоить свой уникальный идентификатор документа; @@ -26,8 +24,8 @@ > Если с документом был передан `callback_url`, то ответ придёт на этот самый URL. > Он должен быть обработан вашим сервисом в соответствии с бизнес-процессом. - > Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не пришёл в течение 300 секунд - > (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа. + > Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не был получен/обработан в течение + > 300 секунд (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа. 4. Проверить состояние документа: 4.1. взять `uuid` ответа, полученного на запрос фискализации; 4.2. отправить его в запросе состояния документа.