HBMM220_Test Calculator
(Hereby) Module Manager > Test Calculator
| 앱 | Module Manager (HBMM) |
| 대상 사용자 | 조건1 [Module Manager 조회 권한] |
| 프로토타입 | TBU |
| 관련 정책 | [[POL_급여정본경계]] · [[POL_AI안전경계]] |
| Status | review |
| Owner | 카나 (PM) |
개요
- 모듈 상세([[HBMM210_모듈 상세 (Output Keys)]]) 우측 하단에 노출되는 Test Calculator다. 특정 직원·연도·월로 calculator를 실제 실행해 계산 결과를 확인하는 e2e 검증 용도다.
- 입력: 직원 검색(placeholder "이름, 이메일, 사번 검색...") → 후보 버튼(예 "최콸 FIRMA005") 선택 → 확인 카드(이름 / 사번 / 입사일) 노출 + 연도·월(number, 기본값 현재 연/월) · "실행". 동작: "직원 선택 → 급여 생성 → 계산 결과 확인". "실행"은 직원 선택 전 disabled다.
- 실행 결과 뷰: "성공 {n}ms"(응답 소요 시간) + "Raw JSON" 토글 + items / totalRecords. 대상 직원에 계약 데이터가 없으면 items는 빈 배열, totalRecords 0으로 반환된다.
- 핵심 경계: "실행"은 조회가 아니라 급여 record 생성 mutation이다. Registry 다른 화면(read-only)과 달리 유일한 mutation 접점이므로 사람이 실행하며, AI 자동 실행은 금지한다 ([[POL_급여정본경계]] · [[POL_AI안전경계]]).
문서 히스토리
| 날짜 | 작성자 | 팀 | 변경 내용 |
|---|---|---|---|
| 2026-07-06 | 카나 | PM | 최초 작성 |
| 2026-07-10 | 카나 | PM | 라이브 기능 검토 반영 |
| 2026-07-12 | 카나 | PM | 실행 검증 반영 (콸 승인) |
| 2026-07-13 | 카나 | PM | 버튼 행동 명세 보강 |
| 2026-07-21 | 카나 | PM | GC700 깊이 재작성 + 확정 스타일 (실행 검증 상세 반영) |
Data I/O
Server → Client
| 변수 | 엔티티.컬럼 | 값 없을 때 | 비고 |
|---|---|---|---|
| $ | employees (이름/이메일/사번) | 후보 없음 | 검색 결과 후보 버튼 |
| $ | employees (이름/사번/입사일) | 미선택 시 hide | 확인 카드 |
| $ | calculator.calculate() 반환 | 실행 전 hide | "성공 {n}ms" + Raw JSON 토글 + items / totalRecords. 계약 데이터 없으면 items empty · totalRecords 0 |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 직원 검색 | 검색어(이름/이메일/사번) | employee search (추정) | Module Manager 조회 (추정) |
| 실행 (mutation, 사람 실행) | employeeId, year(2026), month(7) | 급여 record 생성 (추정) · destructive — allowance/deduction record 생성 가능 | payroll-mutating (추정) |
외부 통합 (cross-app)
| 외부 시스템 | 데이터 | 동기/비동기 |
|---|---|---|
| HR 급여 관리 ([[HBHR200_급여대장 시트]]) | 생성된 record가 급여 시트 ƒ / commit 대상과 동일 계층 | mutation 대상 공유 |
화면 플로우
Test Calculator 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | • 모듈 상세 detail render 후 우측 하단에 Test Calculator 노출 | [[HBMM210_모듈 상세 (Output Keys)]] | |
| 01 | 초기 상태 | - | • 안내 "직원 선택 → 급여 생성 → 계산 결과 확인". 직원 미선택 → "실행" disabled | - | |
| 10 | 직원 검색 | Input | • 직원을 이름/이메일/사번으로 찾는 입력. placeholder "이름, 이메일, 사번 검색..." • 입력 시: 후보 버튼 목록 노출 - STEP1 후보 버튼(예 "최콸 FIRMA005") 선택 - STEP2 대상 직원 확정 → 확인 카드(ㄴ11) 노출 | employees | |
| ㄴ11 | 선택 직원 확인 카드 | Card | • 선택 직원 신원 확인 카드 • 표시: 이름 / 사번 / 입사일 | employees | 선택 확인 |
| 20 | 연도 | Input(number) | • 계산 대상 연도 입력. number, 기본값 현재 연도 • 입력 시: 대상 연도 갱신 | - | 기본 현재 |
| 30 | 월 | Input(number) | • 계산 대상 월 입력. number, 기본값 현재 월 • 입력 시: 대상 월 갱신 | - | 기본 현재 |
| 40 | 실행 | Button | • 선택 직원·연/월로 calculator를 실제 실행하는 기능. 직원 선택 전 disabled • 클릭 시: 급여 record 생성 → 계산 결과 확인(50) - CASE01 [계약 데이터 있음]: 결과 "성공 {n}ms" + items 존재 · totalRecords > 0 - CASE02 [계약 데이터 없음]: 결과 "성공 {n}ms" + items empty · totalRecords 0 | destructive · allowance_records/deduction_records | 선택 전 disabled · 사람 실행 |
| 50 | 실행 결과 | Output | • 실행 후 결과 뷰 - STEP1 "성공 {n}ms" (응답 소요 시간) - STEP2 "Raw JSON" 토글 (원본 응답 펼침) - STEP3 items / totalRecords 표시. 계약 데이터 없으면 items empty · totalRecords 0 | calc_result | 07-12 실행 검증 반영 |
권한·상태 분기 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
CASE01 [실행·계약 있음] | 직원 선택(실행 활성) + "실행" | 급여 record 생성, 결과 "성공 {n}ms" + Raw JSON + items/totalRecords > 0 | destructive, 사람 실행 |
CASE02 [실행·계약 없음] | 계약 데이터 없는 직원 + "실행" | "성공 {n}ms" + items empty · totalRecords 0 | 07-12 검증 관찰 |
CASE03 [선택 전] | 직원 미선택 | "실행" disabled | 선택 전 비활성 |
CASE04 [AI 자동실행] | AI 호출 | 금지 (payroll-mutating) | [[POL_AI안전경계]] |
Open Question
- "실행" 시 생성되는 급여 record의 정본성(테스트 record vs 실 record 구분), 롤백/삭제 경로 = TBU
- Test Calculator 실행 권한 token 및 audit 기록 여부 = TBU
- 테스트 조직/급여 파이프라인 검증 UI가 별도 존재하는지 = TBU