diff options
Diffstat (limited to 'components/knox/approval/mocks')
| -rw-r--r-- | components/knox/approval/mocks/approval-mock.ts | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/components/knox/approval/mocks/approval-mock.ts b/components/knox/approval/mocks/approval-mock.ts deleted file mode 100644 index 021eb925..00000000 --- a/components/knox/approval/mocks/approval-mock.ts +++ /dev/null @@ -1,230 +0,0 @@ -import { - ApprovalLine, - SubmitApprovalRequest, - SubmitApprovalResponse, - ApprovalDetailResponse, - ApprovalContentResponse, - ApprovalStatusResponse, - CancelApprovalResponse, - SubmissionListResponse, - ApprovalHistoryResponse -} from '@/lib/knox-api/approval/approval'; - -// Mock 데이터 생성 함수들 -export const createMockApprovalLine = (overrides?: Partial<ApprovalLine>): ApprovalLine => ({ - epId: '12345', - userId: 'user123', - emailAddress: 'user@example.com', - seq: '1', - role: '0', // 기안 - aplnStatsCode: '0', // 미결 - arbPmtYn: 'N', - contentsMdfyPmtYn: 'N', - aplnMdfyPmtYn: 'N', - opinion: '결재 요청드립니다.', - ...overrides -}); - -export const createMockSubmitApprovalRequest = (overrides?: Partial<SubmitApprovalRequest>): SubmitApprovalRequest => ({ - contents: '결재 요청 내용입니다.', - contentsType: 'TEXT', - docSecuType: 'PERSONAL', - notifyOption: '0', - urgYn: 'N', - sbmDt: '20241215120000', - timeZone: 'GMT+9', - docMngSaveCode: '0', - subject: '결재 요청 - 테스트', - sbmLang: 'ko', - apInfId: 'test-ap-inf-id-' + Date.now(), - importantYn: 'N', - aplns: [ - createMockApprovalLine({ seq: '1', role: '0' }), // 기안 - createMockApprovalLine({ seq: '2', role: '1', userId: 'approver1' }), // 결재 - createMockApprovalLine({ seq: '3', role: '1', userId: 'approver2' }), // 결재 - ], - ...overrides -}); - -export const mockSubmitApprovalResponse: SubmitApprovalResponse = { - result: 'SUCCESS', - data: { - apInfId: 'test-ap-inf-id-' + Date.now() - } -}; - -export const mockApprovalDetailResponse: ApprovalDetailResponse = { - result: 'SUCCESS', - data: { - contentsType: 'TEXT', - sbmDt: '20241215120000', - sbmLang: 'ko', - apInfId: 'test-ap-inf-id-123', - systemId: 'EVCP_SYSTEM', - notifyOption: '0', - urgYn: 'N', - docSecuType: 'PERSONAL', - status: '1', // 진행중 - timeZone: 'GMT+9', - subject: '결재 요청 - 테스트', - aplns: [ - createMockApprovalLine({ seq: '1', role: '0', aplnStatsCode: '1' }), // 기안 완료 - createMockApprovalLine({ seq: '2', role: '1', aplnStatsCode: '0', userId: 'approver1' }), // 결재 대기 - createMockApprovalLine({ seq: '3', role: '1', aplnStatsCode: '0', userId: 'approver2' }), // 결재 대기 - ], - attachments: [] - } -}; - -export const mockApprovalContentResponse: ApprovalContentResponse = { - result: 'SUCCESS', - data: { - contents: '결재 요청 내용입니다.\n\n상세한 내용은 다음과 같습니다:\n- 항목 1\n- 항목 2\n- 항목 3', - contentsType: 'TEXT', - apInfId: 'test-ap-inf-id-123' - } -}; - -export const mockApprovalStatusResponse: ApprovalStatusResponse = { - result: 'SUCCESS', - data: [ - { - apInfId: 'test-ap-inf-id-123', - docChgNum: '1', - status: '1' // 진행중 - } - ] -}; - -export const mockCancelApprovalResponse: CancelApprovalResponse = { - result: 'SUCCESS', - data: { - apInfId: 'test-ap-inf-id-123' - } -}; - -export const mockSubmissionListResponse: SubmissionListResponse = { - result: 'SUCCESS', - data: [ - { - apInfId: 'test-ap-inf-id-123', - subject: '결재 요청 - 테스트', - sbmDt: '20241215120000', - status: '1', - urgYn: 'N', - docSecuType: 'PERSONAL' - }, - { - apInfId: 'test-ap-inf-id-124', - subject: '결재 요청 - 테스트 2', - sbmDt: '20241214100000', - status: '2', - urgYn: 'Y', - docSecuType: 'CONFIDENTIAL' - } - ] -}; - -export const mockApprovalHistoryResponse: ApprovalHistoryResponse = { - result: 'SUCCESS', - data: [ - { - apInfId: 'test-ap-inf-id-123', - subject: '결재 요청 - 테스트', - sbmDt: '20241215120000', - status: '1', - actionType: 'SUBMIT', - actionDt: '20241215120000', - userId: 'submitter123' - }, - { - apInfId: 'test-ap-inf-id-124', - subject: '결재 요청 - 테스트 2', - sbmDt: '20241214100000', - status: '2', - actionType: 'APPROVE', - actionDt: '20241214150000', - userId: 'approver1' - } - ] -}; - -// Mock 함수들 -export const mockApprovalAPI = { - submitApproval: async (request: SubmitApprovalRequest): Promise<SubmitApprovalResponse> => { - // 실제 API 호출 시뮬레이션 - await new Promise(resolve => setTimeout(resolve, 1000)); - return mockSubmitApprovalResponse; - }, - - getApprovalDetail: async (apInfId: string): Promise<ApprovalDetailResponse> => { - await new Promise(resolve => setTimeout(resolve, 500)); - return mockApprovalDetailResponse; - }, - - getApprovalContent: async (apInfId: string): Promise<ApprovalContentResponse> => { - await new Promise(resolve => setTimeout(resolve, 300)); - return mockApprovalContentResponse; - }, - - getApprovalStatus: async (apInfIds: string[]): Promise<ApprovalStatusResponse> => { - await new Promise(resolve => setTimeout(resolve, 400)); - return mockApprovalStatusResponse; - }, - - cancelApproval: async (apInfId: string): Promise<CancelApprovalResponse> => { - await new Promise(resolve => setTimeout(resolve, 800)); - return mockCancelApprovalResponse; - }, - - getSubmissionList: async (): Promise<SubmissionListResponse> => { - await new Promise(resolve => setTimeout(resolve, 600)); - return mockSubmissionListResponse; - }, - - getApprovalHistory: async (): Promise<ApprovalHistoryResponse> => { - await new Promise(resolve => setTimeout(resolve, 700)); - return mockApprovalHistoryResponse; - } -}; - -// 상태 및 역할 텍스트 변환 함수들 -export const getStatusText = (status: string): string => { - const statusMap: Record<string, string> = { - '-3': '암호화실패', - '-2': '암호화중', - '-1': '예약상신', - '0': '보류', - '1': '진행중', - '2': '완결', - '3': '반려', - '4': '상신취소', - '5': '전결', - '6': '후완결' - }; - return statusMap[status] || '알 수 없음'; -}; - -export const getRoleText = (role: string): string => { - const roleMap: Record<string, string> = { - '0': '기안', - '1': '결재', - '2': '합의', - '3': '후결', - '4': '병렬합의', - '7': '병렬결재', - '9': '통보' - }; - return roleMap[role] || '알 수 없음'; -}; - -export const getApprovalStatusText = (status: string): string => { - const statusMap: Record<string, string> = { - '0': '미결', - '1': '결재', - '2': '반려', - '3': '전결', - '5': '자동결재' - }; - return statusMap[status] || '알 수 없음'; -};
\ No newline at end of file |
