public async Task PostProgress_WithProgressBetMoreThanQuestPoints_ShouldReturnOnlyNeededPointsToCompletQuest()
        {
            var questEngineProgressClient = new ProgressClient(TestHttpClient);

            // Including previous progress
            var previousResult = await questEngineProgressClient.PostProgressAsync(
                new ProgressInput
            {
                PlayerId      = "playerProgress8",
                PlayerLevel   = 2,
                ChipAmountBet = 510
            });

            var maxAllowedPoints = GameConfiguration.TotalQuestPoints - previousResult.QuestPointsEarned;

            var result = await questEngineProgressClient.PostProgressAsync(
                new ProgressInput
            {
                PlayerId      = "playerProgress8",
                PlayerLevel   = 2,
                ChipAmountBet = 1500
            });

            result.Should().NotBeNull();
            result.QuestPointsEarned.Should().Be(maxAllowedPoints);
            result.TotalQuestPercentCompleted.Should().Be(100);
            result.MilestonesCompleted.Count.Should().Be(1);
            result.MilestonesCompleted.Should().BeEquivalentTo(
                MilestoneConfigurations
                .Where(m => m.MilestoneId == 3)
                .Select(m => new Client.Milestone
            {
                ChipsAwarded   = m.ChipsAwarded,
                MilestoneIndex = m.MilestoneId
            }));
        }