30d9e287a7
feat: add e2e tests for likes and fix like_count propagation in DTO mapping
...
ci/woodpecker/pr/pipeline Pipeline was successful
- Write 3 e2e tests (TC-E2E-106-108): like/unlike flow, multi-user like, guest redirect
- Add get_like_count() and click_like() to PostDetailPage object
- Fix _map_to_dto in 5 use cases (create, get, list, publish, update) to include like_count
- Fix pre-existing mypy issues in page object (evaluate returns Any)
- Update FEATURE_LIKES.md with verified E2E status
2026-05-10 21:11:28 +03:00
ca4e8877a5
docs: add AI code generation requirements and comprehensive Google-style docstrings
...
- Add AI code generation requirements to AGENTS.md
- Add module-level docstrings to all 46 Python modules
- Add detailed Google-style docstrings to all classes and functions
- Remove all inline comments following self-documenting code principle
- Include Args, Returns, Raises sections in function docstrings
- Add Attributes and Examples sections to class docstrings
2026-05-02 13:15:21 +03:00
87b094220d
refactor: migrate to DDD architecture with Dishka DI
...
Complete architectural refactoring from simple MVC to Clean Architecture/DDD pattern:
Domain Layer:
- Add entities (Post, BaseEntity) with business logic
- Add value objects (Title, Content, Slug) with validation
- Add repository interfaces (PostRepository)
- Add domain exceptions
Application Layer:
- Add use cases (CreatePost, GetPost, UpdatePost, DeletePost, ListPosts, PublishPost)
- Add DTOs for data transfer
- Add TransactionManager interface
Infrastructure Layer:
- Add SQLAlchemy models and async database connection
- Add SQLAlchemyPostRepository implementation
- Add Dishka DI container with providers
- Add error handlers and middleware
Presentation Layer:
- Add FastAPI routes with Dishka integration
- Add Pydantic schemas
- Add dependency injection using FromDishka[T]
Other Changes:
- Remove old flat structure (api/, common/, core/, modules/)
- Add hatchling build system for package scripts
- Add blog CLI command
- Update AGENTS.md with new architecture docs
- All 48 tests passing, mypy clean, ruff clean
2026-05-01 20:20:41 +03:00