# Retail Pricing Test

Тестовое задание по расчету розничной цены товара.

## Что внутри

- `src/Pricing.php` — классы для складских партий, предложений поставщиков, расчета розничной цены и выходной цены поставщиков типа `c`.
- `src/ProductFilterQuery.php` — SQL и Yii Query Builder для фильтра по производителям, категориям и масштабу.
- `tests/run.php` — минимальная проверка ключевых сценариев.
- `public/index.html` — страница для просмотра решения на домене.

## Проверка

```bash
cd /root/retail-pricing-test
php tests/run.php
```

## Принятые допущения

- Деньги считаются в копейках, без `float` в доменной логике.
- Если по поставщикам нет данных вообще, приоритет имеет явно заданная складская выходная цена, но она валидируется как `sale >= purchase * minMarkup`.
- Для товара на нашем складе нижняя граница цены считается по минимальной доступной складской партии: `purchasePrice * minMarkup`.
- Для поставщиков типа `c` отдельная наценка `discountless` имеет приоритет над диапазонами цен.
