코드 주석을 이 저장소 기준으로 정리
This commit is contained in:
@@ -16,9 +16,9 @@ import { aggregateActiveEclipses, defendEclipse } from '../src/fandom/fandom.js'
|
||||
* 보는 것
|
||||
* 1. **POP 이 움직이지 않는다** — 지갑과 원장이 그대로다.
|
||||
* 2. **분산 카운터 유실 0** — 샤드를 흩어도 합이 참여 총량과 같다(별첨 1 ① 예외 처리).
|
||||
* 3. **멱등** — 재시도가 샤드·방어 로그·티커 이벤트를 두 번 올리지 않는다(검수 D1·D6).
|
||||
* 3. **멱등** — 재시도가 샤드·방어 로그·티커 이벤트를 두 번 올리지 않는다.
|
||||
* 4. **서버 검증** — 단말이 보낸 흔들기 수를 상한과 속도로 다시 판정한다(별첨 1 ②).
|
||||
* 5. **즉시 성공 판정** — 목표에 닿은 순간 `defended` 가 선다(검수 D2).
|
||||
* 5. **즉시 성공 판정** — 목표에 닿은 순간 `defended` 가 선다.
|
||||
*/
|
||||
|
||||
const FANDOM = 'test-ecl-fandom';
|
||||
@@ -195,7 +195,7 @@ describe('분산 카운터 — 카운트 유실 0 (별첨 1 ① 예외 처리)',
|
||||
});
|
||||
});
|
||||
|
||||
describe('멱등 — 재시도가 이중 계산되지 않는다 (검수 D1·D6)', () => {
|
||||
describe('멱등 — 재시도가 이중 계산되지 않는다', () => {
|
||||
it('같은 clientSeq 를 두 번 보내도 샤드·로그·티커가 한 번만 늘어난다', async () => {
|
||||
await seed();
|
||||
const first = await defendEclipse({
|
||||
@@ -338,7 +338,7 @@ describe('티커 이벤트 — Global Ticker 모양 (별첨 B)', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('성공 판정 — 목표에 닿은 즉시 (검수 D2)', () => {
|
||||
describe('성공 판정 — 목표에 닿은 즉시', () => {
|
||||
it('한 사람의 추가 Shake는 목표 두 명을 채울 수 없고 두 번째 60회에서만 성공한다', async () => {
|
||||
await seed({ target: 2, perCallMaxShakes: 60 });
|
||||
const ref = getFirestore().doc(`fandoms/${FANDOM}/eclipseRounds/${ECLIPSE}`);
|
||||
@@ -485,7 +485,7 @@ describe('v1.5 유효 참여의 원자적 기록', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('개인 인정 횟수는 운영값이다 (원장 C-25)', () => {
|
||||
describe('개인 인정 횟수는 운영값이다 (정책 원장 C-25)', () => {
|
||||
it('회차에 고정된 인정 횟수로 판정하고 운영값 문서만 바꿔서는 진행 중 회차 기준이 바뀌지 않는다', async () => {
|
||||
await seed({ target: 1, perCallMaxShakes: 60, qualifyShakes: 60 });
|
||||
const ref = getFirestore().doc(`fandoms/${FANDOM}/eclipseRounds/${ECLIPSE}`);
|
||||
|
||||
Reference in New Issue
Block a user