feat(approvals): 결재 접근 차단 대응과 전표 전이 메모 전달 강화
- approvals 모듈에서 APPROVAL_ACCESS_DENIED 응답을 포착하여 ApprovalAccessDeniedException으로 변환하고 접근 거부 시 토스트·대시보드 리다이렉트를 처리 - approval history 조회가 서버 action id에 맞춰 필터링되도록 repository·controller·테스트를 보강 - 재고 트랜잭션 상태 전이 API 호출에 note를 전달하도록 repository·컨트롤러·통합/단위 테스트를 업데이트 - 승인 플로우 QA 체크리스트 및 연동 문서를 최신 계약과 테스트 흐름으로 업데이트
This commit is contained in:
@@ -235,7 +235,7 @@ class _FakeStockTransactionRepository implements StockTransactionRepository {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<StockTransaction> submit(int id) async {
|
||||
Future<StockTransaction> submit(int id, {String? note}) async {
|
||||
final transaction = _require(id);
|
||||
final updated = transaction.copyWith(
|
||||
status: StockTransactionStatus(id: transaction.status.id, name: '제출'),
|
||||
@@ -281,16 +281,20 @@ class _FakeStockTransactionRepository implements StockTransactionRepository {
|
||||
Future<StockTransaction> restore(int id) => throw UnimplementedError();
|
||||
|
||||
@override
|
||||
Future<StockTransaction> complete(int id) => throw UnimplementedError();
|
||||
Future<StockTransaction> complete(int id, {String? note}) =>
|
||||
throw UnimplementedError();
|
||||
|
||||
@override
|
||||
Future<StockTransaction> approve(int id) => throw UnimplementedError();
|
||||
Future<StockTransaction> approve(int id, {String? note}) =>
|
||||
throw UnimplementedError();
|
||||
|
||||
@override
|
||||
Future<StockTransaction> reject(int id) => throw UnimplementedError();
|
||||
Future<StockTransaction> reject(int id, {String? note}) =>
|
||||
throw UnimplementedError();
|
||||
|
||||
@override
|
||||
Future<StockTransaction> cancel(int id) => throw UnimplementedError();
|
||||
Future<StockTransaction> cancel(int id, {String? note}) =>
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
class _FakeApprovalRepository implements ApprovalRepository {
|
||||
|
||||
Reference in New Issue
Block a user