{"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":21,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":21,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1792461958986,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["범위 감시 함수"],"duration":2,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 목록 조건은 범위 키를 절 목록으로 싣는다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"목록 조건은 범위 키를 절 목록으로 싣는다"},{"ancestorTitles":["범위 감시 함수"],"duration":7,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 범위 키가 없으면 목록 조건을 만들지 않고 던진다","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"범위 키가 없으면 목록 조건을 만들지 않고 던진다"},{"ancestorTitles":["범위 감시 함수"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 목록 조건도 종류의 필수 키가 빠지면 던진다 (기업 경계 키 누락)","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"status":"passed","title":"목록 조건도 종류의 필수 키가 빠지면 던진다 (기업 경계 키 누락)"},{"ancestorTitles":["범위 감시 함수"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 단건 판정은 원천이 같으면 allow 다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"단건 판정은 원천이 같으면 allow 다"},{"ancestorTitles":["범위 감시 함수"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 단건 판정은 원천이 다르면 deny 다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"단건 판정은 원천이 다르면 deny 다"},{"ancestorTitles":["범위 감시 함수"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 ORG 신원에 orgPath 가 없으면 deny 다 (orgPath 누락 거부)","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"ORG 신원에 orgPath 가 없으면 deny 다 (orgPath 누락 거부)"},{"ancestorTitles":["범위 감시 함수"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 자동 칸 행은 판정하지 않고 undeclared 다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"자동 칸 행은 판정하지 않고 undeclared 다"},{"ancestorTitles":["범위 감시 함수 · 조직 경로 (구분자 경계)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 조직 경로 (구분자 경계) 구분자 경계: 실제 ULID 세 단계 경로의 상위 조회는 하위 행을 허용한다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"구분자 경계: 실제 ULID 세 단계 경로의 상위 조회는 하위 행을 허용한다"},{"ancestorTitles":["범위 감시 함수 · 조직 경로 (구분자 경계)"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 조직 경로 (구분자 경계) 구분자 경계: 형제 세그먼트 (/A/B/ 대 /A/BC/) 는 차단한다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"구분자 경계: 형제 세그먼트 (/A/B/ 대 /A/BC/) 는 차단한다"},{"ancestorTitles":["범위 감시 함수 · 조직 경로 (구분자 경계)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 조직 경로 (구분자 경계) 구분자 경계: 1/2 는 1/23 과 다르다 (1/23 행은 차단한다)","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"status":"passed","title":"구분자 경계: 1/2 는 1/23 과 다르다 (1/23 행은 차단한다)"},{"ancestorTitles":["범위 감시 함수 · 조직 경로 (구분자 경계)"],"duration":3,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 조직 경로 (구분자 경계) 빈 orgPath 와 루트 / 는 정규화 뒤에도 던진다","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"status":"passed","title":"빈 orgPath 와 루트 / 는 정규화 뒤에도 던진다"},{"ancestorTitles":["범위 감시 함수 · 조직 경로 (구분자 경계)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 조직 경로 (구분자 경계) 행의 orgPath 가 형식에 맞지 않으면 deny 다 (LIKE 와일드카드 행을 허용하지 않는다)","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"행의 orgPath 가 형식에 맞지 않으면 deny 다 (LIKE 와일드카드 행을 허용하지 않는다)"},{"ancestorTitles":["범위 감시 함수 · 단건 3의미 (합치지 않는다)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 단건 3의미 (합치지 않는다) memId 동일: 소유 회원이 같을 때만 allow, 관리자도 이 의미로는 allow 하지 않는다","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"memId 동일: 소유 회원이 같을 때만 allow, 관리자도 이 의미로는 allow 하지 않는다"},{"ancestorTitles":["범위 감시 함수 · 단건 3의미 (합치지 않는다)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 단건 3의미 (합치지 않는다) 주문 소유자만: 소유 회원 일치만 allow, 관리자 신원은 주문 판정을 열지 않는다","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"주문 소유자만: 소유 회원 일치만 allow, 관리자 신원은 주문 판정을 열지 않는다"},{"ancestorTitles":["범위 감시 함수 · 단건 3의미 (합치지 않는다)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 단건 3의미 (합치지 않는다) 소유자 또는 관리자 열람: 관리자는 allow, 그 밖은 소유 회원 일치","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"소유자 또는 관리자 열람: 관리자는 allow, 그 밖은 소유 회원 일치"},{"ancestorTitles":["범위 감시 함수 · 단건 3의미 (합치지 않는다)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 단건 3의미 (합치지 않는다) 자동 칸 행은 단건 3의미 모두 undeclared 다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"자동 칸 행은 단건 3의미 모두 undeclared 다"},{"ancestorTitles":["범위 감시 함수 · ORG 쌍 키"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · ORG 쌍 키 ORG 신원은 자동 칸이어도 orgPath 누락을 먼저 거부한다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"ORG 신원은 자동 칸이어도 orgPath 누락을 먼저 거부한다"},{"ancestorTitles":["범위 감시 함수 · ORG 쌍 키"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · ORG 쌍 키 ORG 판정은 agcId · orgPath 쌍 키가 없으면 던진다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"ORG 판정은 agcId · orgPath 쌍 키가 없으면 던진다"},{"ancestorTitles":["범위 감시 함수 · 범위 키 누락 (R2)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 범위 키 누락 (R2) 범위 키 목록이 비면 단건 판정도 던진다 (allow 를 내지 않는다)","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"범위 키 목록이 비면 단건 판정도 던진다 (allow 를 내지 않는다)"},{"ancestorTitles":["범위 감시 함수 · 범위 키 누락 (R2)"],"duration":1,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 범위 키 누락 (R2) 종류의 필수 키가 빠진 호출은 던진다 (고른 키만 비교하지 않는다)","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"status":"passed","title":"종류의 필수 키가 빠진 호출은 던진다 (고른 키만 비교하지 않는다)"},{"ancestorTitles":["범위 감시 함수 · 범위 키 누락 (R2)"],"duration":0,"failureDetails":[],"failureMessages":[],"fullName":"범위 감시 함수 · 범위 키 누락 (R2) 필수 키를 다 넘기면 추가 키가 있어도 판정한다","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"status":"passed","title":"필수 키를 다 넘기면 추가 키가 있어도 판정한다"}],"endTime":1792461959212,"message":"","name":"/home/madsc/work/insuniverse-temp/.worktrees/admin-rbac/insuniverse-server/apps/api/src/modules/auth/access-control/scope-monitor.spec.ts","startTime":1792461959111,"status":"passed","summary":""}],"wasInterrupted":false}
