logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Namespace Serenity.Achievements.Tests.Application

    Classes

    AchievementServiceConcurrencyTests

    Tests that the service's mutation gate actually serializes overlapping calls. Every one of these fails without it, because each mutation is a check-then-act sequence that spans an await: the second caller reads the state the first one has not written back yet.

    AchievementServiceDegradationTests

    Tests for what the service does when its collaborators misbehave: a store that throws, a platform that cannot answer, a storefront SDK that never returns, and a reset that lands while a screenshot capture is still in flight. Nothing here may surface as an exception to the gameplay code that triggered the unlock.

    AchievementServiceTests

    Behavioral tests for AchievementService over an in-memory store and a scriptable platform gateway: unlock idempotency, the points mirror, hidden visibility, progress clamping and auto-unlock, platform push throttling, reconciliation in both directions, the detached screenshot attachment, and reset.

    CompositeAchievementPlatformGatewayTests

    Behavioral tests for CompositeAchievementPlatformGateway: the union query, the any-child availability rule, and the contract that one broken storefront SDK never takes the unlock path or the other platforms down with it.

    In this article
    © 2026 Serenity. All Rights Reserved