1.1.0 feature work: Monthly Check-in, Charts, Goals, Share, Reviews
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -51,4 +51,40 @@ final class ReviewPromptServiceTests: XCTestCase {
|
||||
|
||||
XCTAssertFalse(didRequest)
|
||||
}
|
||||
|
||||
func testAchievementPromptTriggersForNewUnlockWhenNotReviewed() {
|
||||
let service = ReviewPromptService(
|
||||
userDefaults: defaults,
|
||||
dateProvider: Date.init,
|
||||
reviewRequestHandler: {}
|
||||
)
|
||||
|
||||
let shouldAsk = service.shouldAskForAchievementSatisfaction(newlyUnlockedAchievementKeys: ["streak_3"])
|
||||
|
||||
XCTAssertTrue(shouldAsk)
|
||||
}
|
||||
|
||||
func testAchievementPromptDoesNotTriggerTwiceForSameAchievement() {
|
||||
let service = ReviewPromptService(
|
||||
userDefaults: defaults,
|
||||
dateProvider: Date.init,
|
||||
reviewRequestHandler: {}
|
||||
)
|
||||
|
||||
XCTAssertTrue(service.shouldAskForAchievementSatisfaction(newlyUnlockedAchievementKeys: ["streak_3"]))
|
||||
XCTAssertFalse(service.shouldAskForAchievementSatisfaction(newlyUnlockedAchievementKeys: ["streak_3"]))
|
||||
}
|
||||
|
||||
func testAchievementPromptDoesNotTriggerAfterStoreReviewCompleted() {
|
||||
let service = ReviewPromptService(
|
||||
userDefaults: defaults,
|
||||
dateProvider: Date.init,
|
||||
reviewRequestHandler: {}
|
||||
)
|
||||
service.markStoreReviewCompleted()
|
||||
|
||||
let shouldAsk = service.shouldAskForAchievementSatisfaction(newlyUnlockedAchievementKeys: ["streak_6"])
|
||||
|
||||
XCTAssertFalse(shouldAsk)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user