- Add docs/srs/Interface/req-014_portfolio-create-user-required.md with acceptance criteria - Create docs/batches/bat-004_20260502_portfolio-create-user-required/ delivery batch - Enhance app/cli/commands/portfolio.py: validate user_id parameter before portfolio creation - Add comprehensive CLI tests in tests/test_cli.py for portfolio create validation flows - Update docs/batches/index.md and docs/srs/index.md with new requirement/batch references - Update README.md documentation
1.6 KiB
1.6 KiB
BAT-004 Planning
- Status: confirmed
- Batch: BAT-004
- Profile: batch-lite
Included REQ
- REQ-014: CLI
portfolio create --user필수화 및 소유자 설정
Out of Scope
- HTTP API
POST /portfoliosowner 설정 변경 owner_user_id기본값("system") 서비스 레이어 변경
구현 순서
1단계: CLI 명령 수정
app/cli/commands/portfolio.py—create_portfolio명령 수정user: str | None = typer.Option(None, "--user", help="Owner username (required).")추가_with_service_and_repo콜백으로 교체- callback 내부:
user is None→console.print(...)+raise typer.Exit(code=1)repository.get_user_by_username(user)→None이면raise ValueError(...)service.create_portfolio(payload, owner_user_id=owner.id)호출
2단계: README 수정
README.md—pfhub portfolio create예제 라인에--user alice추가
3단계: 테스트
tests/test_cli.pytest_cli_create_buy_and_delete_flow:--user alice추가, repo에 alice 생성test_cli_write_command_prompts_before_create: 동일 수정test_cli_write_command_can_abort: 동일 수정test_cli_portfolio_create_without_user_exits_error(신규)test_cli_portfolio_create_with_valid_user_sets_owner(신규)test_cli_portfolio_create_with_unknown_user_exits_error(신규)
Dependencies
- Internal:
_with_service_and_repo(BAT-003 도입, 이미 존재) - External: 없음
Design Gate
- Design Required Before Implementation: no
- Reason: 기존
_with_service_and_repo패턴 재사용. 구조/스키마 변경 없음.