feat(home): 크리에이터 랭킹 fallback job 집계를 추가한다
This commit is contained in:
+39
@@ -138,4 +138,43 @@ class DefaultCreatorRankingSnapshotJobRepositoryTest @Autowired constructor(
|
||||
assertEquals(LocalDateTime.of(2026, 6, 8, 7, 30), unchanged?.processingStartedAt)
|
||||
assertEquals(LocalDateTime.of(2026, 6, 8, 7, 31), unchanged?.processedAt)
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("fallback 제한 count는 같은 기간의 FALLBACK trigger만 계산한다")
|
||||
fun shouldCountFallbackJobsByPeriodAndTriggerOnly() {
|
||||
val startAt = LocalDateTime.of(2026, 5, 31, 15, 0)
|
||||
val endAt = LocalDateTime.of(2026, 6, 7, 15, 0)
|
||||
adapter.save(job(startAt, endAt, CreatorRankingSnapshotJobTrigger.FALLBACK))
|
||||
adapter.save(job(startAt, endAt, CreatorRankingSnapshotJobTrigger.FALLBACK))
|
||||
adapter.save(job(startAt, endAt, CreatorRankingSnapshotJobTrigger.SCHEDULED))
|
||||
adapter.save(job(startAt, endAt, CreatorRankingSnapshotJobTrigger.MANUAL))
|
||||
adapter.save(job(startAt.minusWeeks(1), endAt.minusWeeks(1), CreatorRankingSnapshotJobTrigger.FALLBACK))
|
||||
|
||||
val count = adapter.countByRankingTypeAndPeriodAndTrigger(
|
||||
rankingType = CreatorRankingType.WEEKLY,
|
||||
aggregationStartAtUtc = startAt,
|
||||
aggregationEndAtUtc = endAt,
|
||||
trigger = CreatorRankingSnapshotJobTrigger.FALLBACK
|
||||
)
|
||||
|
||||
assertEquals(2L, count)
|
||||
}
|
||||
|
||||
private fun job(
|
||||
startAt: LocalDateTime,
|
||||
endAt: LocalDateTime,
|
||||
trigger: CreatorRankingSnapshotJobTrigger
|
||||
): CreatorRankingSnapshotJobRecord {
|
||||
return CreatorRankingSnapshotJobRecord(
|
||||
rankingType = CreatorRankingType.WEEKLY,
|
||||
aggregationStartAtUtc = startAt,
|
||||
aggregationEndAtUtc = endAt,
|
||||
visibleFromAtUtc = endAt.plusHours(9),
|
||||
trigger = trigger,
|
||||
status = CreatorRankingSnapshotJobStatus.FAILED,
|
||||
lastError = null,
|
||||
processingStartedAt = null,
|
||||
processedAt = null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user