Доработки коллекций, чека и тестов

- `EntityCollection` сильно упрощён, добавлен выброс исключений при пустом содержимом
- `Receipt::setItems(), setPayments() и setVats()` получили одинаковые проверки входящих данных
- округление в `Vat::setSum()`
- доработаны тесты коллекций
This commit is contained in:
2021-12-09 20:13:43 +08:00
parent 16d1146826
commit 058ce5ed3d
10 changed files with 97 additions and 370 deletions

View File

@@ -11,6 +11,7 @@ namespace AtolOnline\Collections;
use AtolOnline\Constants\Constraints;
use AtolOnline\Entities\Payment;
use AtolOnline\Exceptions\EmptyPaymentsException;
use AtolOnline\Exceptions\TooManyPaymentsException;
/**
@@ -28,8 +29,13 @@ final class Payments extends EntityCollection
*/
protected const MAX_COUNT = Constraints::MAX_COUNT_DOC_PAYMENTS;
/**
* Класс исключения для выброса при пустой коллекции
*/
protected const EMPTY_EXCEPTION_CLASS = EmptyPaymentsException::class;
/**
* Класс-наследник TooManyException для выброса при превышении количества
*/
protected const EXCEPTION_CLASS = TooManyPaymentsException::class;
protected const TOO_MANY_EXCEPTION_CLASS = TooManyPaymentsException::class;
}