이클립스 방어 횟수 즉시 표시·진동 · Music Shake 영상 재생 중 흔들기 판정 · 결과 공유
This commit is contained in:
@@ -519,6 +519,24 @@ describe('검증 활동 집계 규칙 — Quest 완료 1건 · 하루 1회 (Camp
|
||||
expect(reply.rewarded).toBe(60);
|
||||
});
|
||||
|
||||
it('Music Shake — 곡은 지정 영상 링크로 대조하고 · rewardPop 이 없으면 운영값 musicShake.pop · 판정 미달은 보상 0', async () => {
|
||||
await db().doc('quests/music-link').set({
|
||||
type: 'musicShake', totalSegments: 10, dailyLimit: 2,
|
||||
link: { url: 'https://youtu.be/WMweEpGlu_U', title: 'BTS - Butter' },
|
||||
});
|
||||
await db().doc('config/policy').set({ musicShake: { pop: 4 } }, { merge: true });
|
||||
const shake = (perfect: number, miss: number) => call(fnQuestVerifyMusicShake, {
|
||||
questId: 'music-link', trackId: 'WMweEpGlu_U', totalSegments: 10,
|
||||
judgement: { perfect, good: 0, miss, maxCombo: perfect },
|
||||
});
|
||||
// 3/10 — 임시 성공 문턱 0.5 미달 → 보상 0, 원장 없음.
|
||||
expect(await codeOf(() => shake(3, 7))).toBe('E-QST-01');
|
||||
expect((await db().collection(`users/${UID}/popTransactions`).get()).size).toBe(0);
|
||||
// 5/10 — 문턱 0.5 충족 · perfect 0.5 < B 문턱 0.6 → C(배수 1) → 4.
|
||||
const reply = await shake(5, 5);
|
||||
expect(reply.rewarded).toBe(4);
|
||||
});
|
||||
|
||||
it('Music Shake 는 완주마다 1회 · 방문은 1회', async () => {
|
||||
await db().doc('quests/music-count').set({ type: 'musicShake', trackId: 't1', totalSegments: 10, dailyLimit: 2 });
|
||||
const shake = () => call(fnQuestVerifyMusicShake, {
|
||||
|
||||
Reference in New Issue
Block a user