Commit Graph

184 Commits (master)

Author SHA1 Message Date
Anthony Axenov 3d3eba5b4e Базовый класс коллекции объектов `EntityCollection` 2021-12-06 14:16:34 +08:00
Anthony Axenov a5c88cd7d3 Функции проверки наследования классов вернул из `Helpers` в `BasicTestCase` и отрефакторил
- `isSameClass()`
- `checkImplementsInterfaces()`
- `checkUsesTraits()` + переписана под наследование
2021-12-06 14:15:47 +08:00
Anthony Axenov b451c7dc68 Мелочи по phpdoc 2021-12-06 14:13:48 +08:00
Anthony Axenov 7d0c526663 Готов класс оплаты `Payment` для будущей поддержки оплат в документе 2021-12-03 23:53:42 +08:00
Anthony Axenov 65ec639014 Округление цены и количества в сетьерах `Item` до 2 и 3 зн после запятой соответственно
Также переименованы исключения о слишком высоких цене и сумме предмета расчёта, чтобы избежать конфликтов с другими
2021-12-03 23:52:41 +08:00
Anthony Axenov d533164d1b Поддержка `correction_info` 2021-12-03 20:09:14 +08:00
Anthony Axenov 05fd25e810 Фикс `AgentInfoTest` 2021-12-03 19:06:15 +08:00
Anthony Axenov 3e03fdca61 Финализация всех `Entities` 2021-12-03 18:24:21 +08:00
Anthony Axenov c077f98cf9 `Item` - пересчёт НДС при изменении цены, количества и акциза 2021-12-03 18:24:00 +08:00
Anthony Axenov 2260233e3f Общие сеттеры-геттеры сущностей вынесены в трейты `HasEmail`, `HasInn`, `HasPhones`
Кодстайл и микрорефакторинг сущностей
2021-12-03 18:23:00 +08:00
Anthony Axenov c30c7d069f Непереработанные классы переименованы для наглядности 2021-12-03 18:16:28 +08:00
Anthony Axenov 8f235d4730 Удалён ROADMAP, поправлен README 2021-12-03 18:15:16 +08:00
Anthony Axenov 85750cd211 Обновление зависимостей
Также подключен jetbrains/phpstorm-attributes, чтобы всё по красоте
2021-12-03 18:10:06 +08:00
Anthony Axenov 2a66889e46 Поддержка `nomenclature_code` у предмета расчёта + мелкофиксы
- теперь `getSum()` проверяет по `Constraints::MAX_COUNT_ITEM_SUM` вместо `MAX_COUNT_ITEM_PRICE` (как и должен был изначально)
- подправил `TooLongException`
- всякие phpdoc-и
2021-12-03 11:52:40 +08:00
Anthony Axenov 1c0d8ba64d Корректировка readme 2021-12-02 16:14:01 +08:00
Anthony Axenov fc37580078
Merge pull request #10 from anthonyaxenov/gha
Настройка gh-actions для работы с codecov.io
2021-12-02 15:57:20 +08:00
Anthony Axenov 96137d20b2 Настройка gh-actions для работы с codecov.io 2021-12-02 15:56:32 +08:00
Anthony Axenov 267431ec28 Мелочи в readme и phpunit.xml (удалены дефолтные параметры) 2021-12-02 01:10:54 +08:00
Anthony Axenov cb24bb1fb0 Доработки енамов и тегов ФФД 2021-12-02 01:10:16 +08:00
Anthony Axenov 11646113b6 Доработки `Item`
- поддержка `excise`, покрыта тестами
- фикс `setVat()`
- улучшен `jsonSerialize()`
2021-12-02 01:09:25 +08:00
Anthony Axenov 650b46923e Бейджики в readme 2021-12-01 20:12:11 +08:00
Anthony Axenov 3f3eb68ea2 Корректировки в composer.json 2021-12-01 20:11:57 +08:00
Anthony Axenov 5ccb0e9db4 Кучад доработок, главным образом вокруг `Item`
- `Item` почти готов и весь покрыт тестами. Пока остались нереализованными `nomenclature_code` и `excise`
- `Client::setPhone()` теперь выбрасывает InvalidPhoneException
- доработка и создание новых исключений (не буду все перечислять, смотри диффы)
- мелочи по phpdoc и всяким текстовкам
2021-12-01 20:11:08 +08:00
Anthony Axenov bce21f9658 Правки по документации
Актуализирована часть про `Vat`, пересобрал README, мелочи
2021-11-28 12:01:28 +08:00
Anthony Axenov a7205ff754 Переработан `Vat`, покрыт тестами 2021-11-28 00:58:05 +08:00
Anthony Axenov e0ff5a261a Новые теги в `Ffd105Tags` + мелочи 2021-11-28 00:57:19 +08:00
Anthony Axenov 2ebb172f2e Мелочи по конвертации денег 2021-11-28 00:55:34 +08:00
Anthony Axenov e2141551d5 `Enum` стал абстрактным внутри `Enums`, наследникам созданы `getFfdTags()` 2021-11-28 00:55:28 +08:00
Anthony Axenov c9670a1321 Удалены бесполезные `ItemArray`, `VatArray` и `PaymentArray`, будут заменены коллекциями 2021-11-28 00:49:53 +08:00
Anthony Axenov 9d2617858d `AgentInfo`: перенос валидации типа агента из конструктора в сеттер 2021-11-28 00:44:43 +08:00
Anthony Axenov f548032843 Ссылки на телеграм и патреон 2021-11-27 18:53:23 +08:00
Anthony Axenov e0d792d3a4 Реализован и покрыт тестами `AgentInfo` (переименован из `Agent`) 2021-11-27 17:59:50 +08:00
Anthony Axenov 16c8d8a676 Реализован и покрыт тестами `MoneyTransferOperator` 2021-11-26 09:16:46 +08:00
Anthony Axenov 8b79b2be51 Мелкофиксы
- `Ffd105Tags::CLIENT_CONTACTS` => `CLIENT_PHONE_EMAIL`
+ мелочи по `Client`, `ClientTest` и `PayingAgentTest`
2021-11-24 18:55:53 +08:00
Anthony Axenov 95dbc3a5b7 Класс `Supplier` обзавёлся `name` + `inn` и допокрыт тестами 2021-11-24 18:54:48 +08:00
Anthony Axenov 790831e933 `MoneyTransferOperator` => `ReceivePaymentsOperator` 2021-11-24 18:45:01 +08:00
Anthony Axenov 3b75c8b983 Класс `Supplier`, покрытый тестами
Это было слишком легко :(
2021-11-24 17:57:24 +08:00
Anthony Axenov c5b57ec26d Класс `MoneyTransferOperator`, покрытый тестами
Также мелкофиксы по phpdoc `PayingAgent` и его тестам
2021-11-24 17:54:04 +08:00
Anthony Axenov 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
Anthony Axenov b5a01debd2 Новый енам AgentTypes 2021-11-22 14:53:10 +08:00
Anthony Axenov 9d3344a0df Мелкофиксы в конструкторе KktMonitor 2021-11-22 14:52:27 +08:00
Anthony Axenov 00b2643f42 Новые функции в Helpers для проверки классов 2021-11-22 14:52:05 +08:00
Anthony Axenov 3bf8667437 Рефакторинг исключений, новые константы ограничений
Описывать все слишком долго, TLDR:
- упрощены корневые AtolException, {BasicTooLongException => TooLongException}, {BasicTooManyException => TooManyException}
- InvalidSnoException заменён на InvalidEnumValueException
- добавлены новые константы, общий порядок изменён в соответствии с порядком упоминания в документации, ссылки на которую тоже добавлены с указанием страниц

Помимо этого, в enum-ах теперь должен быть предусмотрен метод getFfdTags()
2021-11-22 14:51:10 +08:00
Anthony Axenov e1303f4fdb Правки по документации
- в мониторинг добавлено о приведении к строке
- актуализированы Client и Company
- мелочи в соотв. классах
2021-11-21 19:06:55 +08:00
Anthony Axenov 920c08c610 Правки по документации
- добавлено про мониторинг
- убрано про `base_name` из коррекции
2021-11-21 18:58:03 +08:00
Anthony Axenov d281071970 Удалён метод `AtolOnline\Entities\Kkt::getNetworkError()` за ненадобностью 2021-11-21 18:57:20 +08:00
Anthony Axenov 95499174b0 Warning in readme 2021-11-21 00:33:43 +08:00
Anthony Axenov 6d0cac2cbc Первая итерация рефаторинга фискализатора 2021-11-21 00:19:35 +08:00
Anthony Axenov 6620acf1bf Мелкофикс теста KktMonitor::GetOne() 2021-11-21 00:17:40 +08:00
Anthony Axenov e89369348a Метод KktMonitor::auth() перенесён в AtolClient для совместимости в фискализатором 2021-11-21 00:15:59 +08:00