Cloud Functions 도메인 함수 — POP 원장 · 퀘스트 · 이클립스 · 행성 성장 · 캠페인 · 결제 · 알림 · 브리핑 · INSIDE · 추천 · 번역 · 서버 테스트
This commit is contained in:
@@ -5,7 +5,7 @@ import { fnAdminWrite } from '../src/admin/admin.js';
|
||||
|
||||
/**
|
||||
* `fn-admin-write` 권한 경계 — firestore.rules 에서 master 전용인 문서를 ops 가 이 함수로
|
||||
* 우회해 쓰지 못한다. 거부도 `adminActionLogs` 에 남는다(FR-ADM-01).
|
||||
* 우회해 쓰지 못한다(S05 조사). 거부도 `adminActionLogs` 에 남는다(FR-ADM-01).
|
||||
*/
|
||||
const run = (role: string | undefined, targetPath: string,
|
||||
patch: Record<string, unknown> = { attendPop: 999 }) =>
|
||||
@@ -46,7 +46,7 @@ it('ops 는 master 전용이 아닌 문서는 그대로 쓴다 · 역할 없는
|
||||
expect(await denials('admin-none')).toBe(1);
|
||||
});
|
||||
|
||||
it('master 도 원장 · 지표 · 감사 기록과 서버 산출 필드는 못 쓴다 · Eclipse 운영값은 master 만', async () => {
|
||||
it('master 도 원장 · 지표 · 감사 기록과 서버 산출 필드는 못 쓴다 · Eclipse 운영값은 master 만(리뷰 H3)', async () => {
|
||||
const denied = (role: string, path: string, patch?: Record<string, unknown>) =>
|
||||
expect(run(role, path, patch)).rejects.toMatchObject({ details: { code: 'E-PERM-01' } });
|
||||
await denied('master', 'fandoms/f1/fpiEvents/e1');
|
||||
|
||||
Reference in New Issue
Block a user