diff --git a/src/__tests__/services/learning/challenge-service.test.ts b/src/__tests__/services/learning/challenge-service.test.ts index 361df28..9a9c394 100644 --- a/src/__tests__/services/learning/challenge-service.test.ts +++ b/src/__tests__/services/learning/challenge-service.test.ts @@ -306,6 +306,7 @@ describe('challenge-service', () => { [freeUserRow], // deductDailyAttempt → getResourceUser [knowledgeCardRow], // getKnowledgeCard [{ groupId: 'week-2026-05-11-group-1' }], // addXp(first card): reuse weekly group + [userAfterAttempt], // grantDailyFirstVisitHeart → getResourceUser [userAfterAttempt], // getResourceUser (getProgressSummary) [{ tier: 'free', heartsRemaining: 5, heartsLastRestore: null }], // getHearts [{ checkInDays: 2, lastCheckInDate: new Date().toISOString() }], // calculateStreak @@ -341,6 +342,7 @@ describe('challenge-service', () => { [{ createdAt: new Date(Date.now() - 10 * 86_400_000).toISOString() }], // isNewUserProtected [freeUserRow], // deductDailyAttempt → getResourceUser [knowledgeCardRow], // getKnowledgeCard + [userAfter], // grantDailyFirstVisitHeart → getResourceUser [userAfter], // getResourceUser (getProgressSummary) [{ tier: 'free', heartsRemaining: 2, heartsLastRestore: null }], // getHearts [{ checkInDays: 0, lastCheckInDate: null }], // calculateStreak @@ -384,6 +386,7 @@ describe('challenge-service', () => { [{ tier: 'pro', heartsRemaining: 99 }], // deductHeart: pro user [proUserRow], // deductDailyAttempt → getResourceUser [knowledgeCardRow], // getKnowledgeCard + [proUserAfter], // grantDailyFirstVisitHeart → getResourceUser [proUserAfter], // getResourceUser (getProgressSummary) [{ tier: 'pro', heartsRemaining: 99, heartsLastRestore: null }], // getHearts [{ checkInDays: 0, lastCheckInDate: null }], // calculateStreak @@ -412,6 +415,7 @@ describe('challenge-service', () => { [], // addXp(correct): no existing leaderboard group [freeUserRow], // deductDailyAttempt → getResourceUser // settleCompletedChallenge → getProgressSummary (before) + [userAfterAttempt], // grantDailyFirstVisitHeart → getResourceUser [userAfterAttempt], // getResourceUser [{ tier: 'free', heartsRemaining: 5, heartsLastRestore: null }], // getHearts [{ checkInDays: 2, lastCheckInDate: new Date().toISOString() }], // calculateStreak @@ -431,6 +435,7 @@ describe('challenge-service', () => { [{ groupId: 'week-2026-05-11-group-1' }], // addXp(first card): reuse weekly group // getProgressSummary (final) [userAfterXp], + [userAfterXp], [{ tier: 'free', heartsRemaining: 5, heartsLastRestore: null }], [{ checkInDays: 2, lastCheckInDate: new Date().toISOString() }], [], @@ -468,6 +473,7 @@ describe('challenge-service', () => { [freeUserRow], // deductDailyAttempt → getResourceUser // settleCompletedChallenge → getProgressSummary (before) [userBefore], + [userBefore], [{ tier: 'free', heartsRemaining: 2, heartsLastRestore: null }], [{ checkInDays: 0, lastCheckInDate: null }], [], @@ -484,6 +490,7 @@ describe('challenge-service', () => { [knowledgeCardRow], // getProgressSummary (final) [userFinal], + [userFinal], [{ tier: 'free', heartsRemaining: 2, heartsLastRestore: null }], [{ checkInDays: 0, lastCheckInDate: null }], [],