3e03fdca61
Финализация всех Entities
2021-12-03 18:24:21 +08:00
c077f98cf9
Item
- пересчёт НДС при изменении цены, количества и акциза
2021-12-03 18:24:00 +08:00
2260233e3f
Общие сеттеры-геттеры сущностей вынесены в трейты HasEmail
, HasInn
, HasPhones
...
Кодстайл и микрорефакторинг сущностей
2021-12-03 18:23:00 +08:00
c30c7d069f
Непереработанные классы переименованы для наглядности
2021-12-03 18:16:28 +08:00
8f235d4730
Удалён ROADMAP, поправлен README
2021-12-03 18:15:16 +08:00
85750cd211
Обновление зависимостей
...
Также подключен jetbrains/phpstorm-attributes, чтобы всё по красоте
2021-12-03 18:10:06 +08:00
2a66889e46
Поддержка nomenclature_code
у предмета расчёта + мелкофиксы
...
- теперь `getSum()` проверяет по `Constraints::MAX_COUNT_ITEM_SUM` вместо `MAX_COUNT_ITEM_PRICE` (как и должен был изначально)
- подправил `TooLongException`
- всякие phpdoc-и
2021-12-03 11:52:40 +08:00
1c0d8ba64d
Корректировка readme
2021-12-02 16:14:01 +08:00
fc37580078
Merge pull request #10 from anthonyaxenov/gha
...
Настройка gh-actions для работы с codecov.io
2021-12-02 15:57:20 +08:00
96137d20b2
Настройка gh-actions для работы с codecov.io
2021-12-02 15:56:32 +08:00
267431ec28
Мелочи в readme и phpunit.xml (удалены дефолтные параметры)
2021-12-02 01:10:54 +08:00
cb24bb1fb0
Доработки енамов и тегов ФФД
2021-12-02 01:10:16 +08:00
11646113b6
Доработки Item
...
- поддержка `excise`, покрыта тестами
- фикс `setVat()`
- улучшен `jsonSerialize()`
2021-12-02 01:09:25 +08:00
650b46923e
Бейджики в readme
2021-12-01 20:12:11 +08:00
3f3eb68ea2
Корректировки в composer.json
2021-12-01 20:11:57 +08:00
5ccb0e9db4
Кучад доработок, главным образом вокруг Item
...
- `Item` почти готов и весь покрыт тестами. Пока остались нереализованными `nomenclature_code` и `excise`
- `Client::setPhone()` теперь выбрасывает InvalidPhoneException
- доработка и создание новых исключений (не буду все перечислять, смотри диффы)
- мелочи по phpdoc и всяким текстовкам
2021-12-01 20:11:08 +08:00
bce21f9658
Правки по документации
...
Актуализирована часть про `Vat`, пересобрал README, мелочи
2021-11-28 12:01:28 +08:00
a7205ff754
Переработан Vat
, покрыт тестами
2021-11-28 00:58:05 +08:00
e0ff5a261a
Новые теги в Ffd105Tags
+ мелочи
2021-11-28 00:57:19 +08:00
2ebb172f2e
Мелочи по конвертации денег
2021-11-28 00:55:34 +08:00
e2141551d5
Enum
стал абстрактным внутри Enums
, наследникам созданы getFfdTags()
2021-11-28 00:55:28 +08:00
c9670a1321
Удалены бесполезные ItemArray
, VatArray
и PaymentArray
, будут заменены коллекциями
2021-11-28 00:49:53 +08:00
9d2617858d
AgentInfo
: перенос валидации типа агента из конструктора в сеттер
2021-11-28 00:44:43 +08:00
f548032843
Ссылки на телеграм и патреон
2021-11-27 18:53:23 +08:00
e0d792d3a4
Реализован и покрыт тестами AgentInfo
(переименован из Agent
)
2021-11-27 17:59:50 +08:00
16c8d8a676
Реализован и покрыт тестами MoneyTransferOperator
2021-11-26 09:16:46 +08:00
8b79b2be51
Мелкофиксы
...
- `Ffd105Tags::CLIENT_CONTACTS` => `CLIENT_PHONE_EMAIL`
+ мелочи по `Client`, `ClientTest` и `PayingAgentTest`
2021-11-24 18:55:53 +08:00
95dbc3a5b7
Класс Supplier
обзавёлся name
+ inn
и допокрыт тестами
2021-11-24 18:54:48 +08:00
790831e933
MoneyTransferOperator
=> ReceivePaymentsOperator
2021-11-24 18:45:01 +08:00
3b75c8b983
Класс Supplier
, покрытый тестами
...
Это было слишком легко :(
2021-11-24 17:57:24 +08:00
c5b57ec26d
Класс MoneyTransferOperator
, покрытый тестами
...
Также мелкофиксы по phpdoc `PayingAgent` и его тестам
2021-11-24 17:54:04 +08:00
42d194116f
Туча доработок
...
- класс `PayingAgent`, покрытый тестами
- новые константы для тегов ФФД 1.05 `Ffd105Tags`
- `Entity::jsonSerialize()` object -> array (again)
- `TooManyException::$max` int -> float
- тесты по psr-4, потому что почему бы и нет
- некоторые провайдеры вынесены в `BasicTestCase`
- улучшен тест покупателя
2021-11-24 01:30:54 +08:00
b5a01debd2
Новый енам AgentTypes
2021-11-22 14:53:10 +08:00
9d3344a0df
Мелкофиксы в конструкторе KktMonitor
2021-11-22 14:52:27 +08:00
00b2643f42
Новые функции в Helpers для проверки классов
2021-11-22 14:52:05 +08:00
3bf8667437
Рефакторинг исключений, новые константы ограничений
...
Описывать все слишком долго, TLDR:
- упрощены корневые AtolException, {BasicTooLongException => TooLongException}, {BasicTooManyException => TooManyException}
- InvalidSnoException заменён на InvalidEnumValueException
- добавлены новые константы, общий порядок изменён в соответствии с порядком упоминания в документации, ссылки на которую тоже добавлены с указанием страниц
Помимо этого, в enum-ах теперь должен быть предусмотрен метод getFfdTags()
2021-11-22 14:51:10 +08:00
e1303f4fdb
Правки по документации
...
- в мониторинг добавлено о приведении к строке
- актуализированы Client и Company
- мелочи в соотв. классах
2021-11-21 19:06:55 +08:00
920c08c610
Правки по документации
...
- добавлено про мониторинг
- убрано про `base_name` из коррекции
2021-11-21 18:58:03 +08:00
d281071970
Удалён метод AtolOnline\Entities\Kkt::getNetworkError()
за ненадобностью
2021-11-21 18:57:20 +08:00
95499174b0
Warning in readme
2021-11-21 00:33:43 +08:00
6d0cac2cbc
Первая итерация рефаторинга фискализатора
2021-11-21 00:19:35 +08:00
6620acf1bf
Мелкофикс теста KktMonitor::GetOne()
2021-11-21 00:17:40 +08:00
e89369348a
Метод KktMonitor::auth() перенесён в AtolClient для совместимости в фискализатором
2021-11-21 00:15:59 +08:00
b35b9bfa87
Удалена поддержка base_name в документе коррекции ( #5 )
2021-11-20 23:46:39 +08:00
e1120051c1
Новая сущность Kkt для ответов мониторинга ( #8 ) + мелкий рефакторинг
...
- enum-константы перенесены в своё пространство Enums
- новые исключения EmptyMonitorDataException + NotEnoughMonitorDataException
- KktMonitor::getAll() теперь возвращает коллекцию объектов Kkt
- KktMonitor::getOne() теперь возвращает объект Kkt
- местами актуализированы return types + phpdoc
Покрытие тестами:
- 61% исключений
- 98% AtolClient (пока хз как покрыть 208-ую строку)
- 100% KktMonitor
- 100% Kkt
- 100% Client
- 100% Company
- 100% Entity
2021-11-20 23:39:08 +08:00
6551366d84
Полное покрытие тестами классов AtolClient + KktMonitor + половины исключений
...
Часть тестов завязаны на тестовый API мониторинга Атола. Иногда он закашливается и не отвечает, возможно, там рейтлимит. Да и пофиг, моки -- злейшее зло, и мне лень их писать.
2021-11-19 18:42:14 +08:00
2c5144caac
KktMonitor::getAll() теперь возвращает коллекцию объектов ККТ
...
При этом остаётся возможность получить полный ответ через KktMonitor::getResponse()
2021-11-19 18:29:09 +08:00
92a2c6cc48
Переработаны существующие и дописаны новые тест AtolClient
...
Используется тестовый API АТОЛ Онлайн. 94% покрытие AtolClient, но ещё не закончено
2021-11-19 13:42:51 +08:00
949b31a85a
[WIP] Начало работы над тестом KktMonitorTest
2021-11-18 19:07:32 +08:00
03591600dd
Поддержка мониторинга ( #8 ) и рефакторинг
...
- абстрактный класс AtolClient:
- больше не наследуется от клиента guzzle, но содержит его объект
- из Kkt вынесены методы, отвечающие за формирование запроса, отправку и получение ответа, в т.ч. авторизацию
- переименованы исключения TooLongKktLoginException, TooLongKktPasswordException, EmptyKktLoginException и EmptyKktPasswordException
- мелочи по AuthFailedException
- заготовки тестов AtolClient и KktMonitor
2021-11-18 12:24:44 +08:00