Мелочи по докам, TODO в README

This commit is contained in:
Anthony Axenov 2022-12-15 09:34:57 +08:00
parent c7baedae4f
commit 2ab45e8c28
Signed by: anthony
GPG Key ID: EA9EC32FF7CCD4EC
5 changed files with 27 additions and 16 deletions

View File

@ -66,8 +66,20 @@
Для запуска тестов необходимо перейти в корень репозитория и выполнить одну из команд: Для запуска тестов необходимо перейти в корень репозитория и выполнить одну из команд:
```bash ```bash
composer test # обычное тестирование composer psalm # статический анализ
composer coverage # тестирование с покрытием composer phpcs # синтаксический анализ
composer test # полное тестирование без покрытия
composer coverage # полное тестирование с покрытием
``` ```
После тестирования с покрытием в корне репозитория создаётся отчёт, который сохраняется в директории `.coverage`. После тестирования с покрытием в корне репозитория создаётся отчёт, который сохраняется в директории `.coverage`.
Для тестирования с покрытием необходим `php-xdebug` с параметром `xdebug.mode = coverage,...`.
# TODO
* [ ] Поддержка логирования через psr/log (psr-3)
* [ ] Поддержка кеширования через psr/cache (psr-6)
* [ ] Поддержка сторонних клиентов через psr/http-client (psr-18), отвязка от Guzzle
* [ ] События
* [ ] Поддержка ФФД 1.2 (разделение версий библиотеки по веткам?)
* [ ] ...

View File

@ -4,11 +4,11 @@
--- ---
Коллекциями являются объекты, способные хранить в себе [сущности](entity.md). Они унаследованы Коллекциями являются объекты, способные хранить в себе [сущности](entity.md).
от `Illuminate/Support/Collection` и полностью поддерживают все Они унаследованы от `Illuminate/Support/Collection` и полностью поддерживают все
[стандартные методы коллекций Laravel](https://laravel.com/docs/master/collections). [стандартные методы](https://laravel.com/docs/master/collections) коллекций Laravel.
Помимо этого, они валидируют количество и вид сущностей, которые могут хранить в себе, согласно схеме АТОЛ Онлайн API. Помимо этого, они валидируют количество и вид сущностей, которые могут хранить в себе, согласно схеме API АТОЛ Онлайн.
Коллекции ведут себя аналогично самим сущностям в части приведения к массивам и json-ификации. Коллекции ведут себя аналогично самим сущностям в части приведения к массивам и json-ификации.

View File

@ -4,10 +4,10 @@
--- ---
Сущностями являются все классы, которые необходимы для взаимодействия с API. Они находятся в директори `src/Entities` и Сущностями являются все классы, которые необходимы для взаимодействия с API.
расширяют абстрактный класс `AtolOnline\Entities\Entity`. Они находятся в директори `src/Entities` и расширяют абстрактный класс `AtolOnline\Entities\Entity`.
Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы АТОЛ Онлайн API. Каждая сущность содержит в себе только те данные, которые необходимы согласно схемы API АТОЛ Онлайн.
Ниже перечислены возможности сущностей. Ниже перечислены возможности сущностей.

View File

@ -48,7 +48,8 @@ $monitor->setTestMode(false);
$kkts = $monitor->getAll(); $kkts = $monitor->getAll();
``` ```
В ответе будет итерируемая коллекция объектов `AtolOnline\Entities\Kkt`. Каждый из этих объектов содержит атрибуты: В ответе будет итерируемая коллекция объектов `AtolOnline\Entities\Kkt`.
Каждый из этих объектов содержит атрибуты:
```php ```php
// для примера получим первую ККТ из всех // для примера получим первую ККТ из всех

View File

@ -1,7 +1,6 @@
# Документация к библиотеке # Документация к библиотеке
<a id="toc"></a> <a id="toc"></a>
## Содержание ## Содержание
* [Общий алгоритм](#getstarted) * [Общий алгоритм](#getstarted)
@ -14,11 +13,10 @@
Если вы нашли опечатку или какое-то несоответствие — делайте pull-request. Если вы нашли опечатку или какое-то несоответствие — делайте pull-request.
<a id="getstarted"></a> <a id="getstarted"></a>
## Общий алгоритм ## Общий алгоритм
1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`, добавив в него все необходимые 1. Создать документ `AtolOnline\Entities\Receipt` или `AtolOnline\Entities\Correction`,
данные добавив в него все необходимые данные
2. Отправить документ на регистрацию: 2. Отправить документ на регистрацию:
2.1. *Необязательно:* при отправке задать `callback_url`, на который АТОЛ отправит HTTP POST о состоянии документа; 2.1. *Необязательно:* при отправке задать `callback_url`, на который АТОЛ отправит HTTP POST о состоянии документа;
2.2. *Необязательно:* при отправке задать `external_id`, чтобы присвоить свой уникальный идентификатор документа; 2.2. *Необязательно:* при отправке задать `external_id`, чтобы присвоить свой уникальный идентификатор документа;
@ -26,8 +24,8 @@
> Если с документом был передан `callback_url`, то ответ придёт на этот самый URL. > Если с документом был передан `callback_url`, то ответ придёт на этот самый URL.
> Он должен быть обработан вашим сервисом в соответствии с бизнес-процессом. > Он должен быть обработан вашим сервисом в соответствии с бизнес-процессом.
> Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не пришёл в течение 300 секунд > Если с документом **не был** передан `callback_url` **либо** callback от АТОЛа не был получен/обработан в течение
> (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа. > 300 секунд (5 минут), нужно запрашивать вручную по `uuid`, пришедшему от АТОЛа в ответ на регистрацию документа.
4. Проверить состояние документа: 4. Проверить состояние документа:
4.1. взять `uuid` ответа, полученного на запрос фискализации; 4.1. взять `uuid` ответа, полученного на запрос фискализации;
4.2. отправить его в запросе состояния документа. 4.2. отправить его в запросе состояния документа.