001 Project structure

This commit is contained in:
Раис Юсупалиев
2026-03-07 13:23:59 +03:00
parent ff319170a2
commit adfa3e26de
33 changed files with 382 additions and 18 deletions
@@ -1,6 +1,6 @@
---
id: 002
title: Implement pure domain quote rules
title: Implement pure domain price rules
status: TODO
created: 2026-03-07
---
@@ -9,7 +9,7 @@ created: 2026-03-07
`spec/overview.md` требует business rules для фильтрации тарифов, сравнения цен, сортировки и нормализации входных данных в чистом слое Business Logic.
## Goal
Реализовать детерминированные, dependency-free domain functions в `app/domain/quotes.py` для нормализации запроса и фильтрации/упорядочивания котировок.
Реализовать детерминированные, dependency-free domain functions в `app/domain/price.py` для нормализации запроса и фильтрации/упорядочивания котировок.
## Constraints
- Business Logic должна быть pure и dependency-free.
@@ -30,8 +30,8 @@ created: 2026-03-07
- [ ] Unit tests (без mocks) покрывают стандартные и edge cases.
## Tests
- Добавить `tests/domain/test_quotes.py` только с unit tests.
- Покрыть edge cases: пустой input, невалидные quotes, одинаковые цены, границы нормализации.
- Добавить `tests/domain/test_price.py` только с unit tests.
- Покрыть edge cases: пустой input, невалидные price, одинаковые цены, границы нормализации.
## Commands
- `poetry run pytest tests/domain/test_quotes.py -q`
- `poetry run pytest tests/domain/test_price.py -q`