Exemplo n.º 1
0
        public async Task <IActionResult> FetchChallengesAsync(
            EnumGame game            = EnumGame.None,
            EnumChallengeState state = EnumChallengeState.None,
            bool includeMatches      = false
            )
        {
            var fetchDoxatagsRequest = new FetchDoxatagsRequest();

            var fetchDoxatagsResponse = await _identityServiceClient.FetchDoxatagsAsync(fetchDoxatagsRequest);

            var fetchChallengePayoutsRequest = new FetchChallengePayoutsRequest();

            var fetchChallengePayoutsResponse = await _cashierServiceClient.FetchChallengePayoutsAsync(fetchChallengePayoutsRequest);

            var fetchChallengesRequest = new FetchChallengesRequest
            {
                Game           = game,
                State          = state,
                IncludeMatches = includeMatches
            };

            var fetchChallengesResponse = await _challengesServiceClient.FetchChallengesAsync(fetchChallengesRequest);

            return(this.Ok(ChallengeMapper.Map(fetchChallengesResponse.Challenges, fetchChallengePayoutsResponse.Payouts, fetchDoxatagsResponse.Doxatags)));
        }
Exemplo n.º 2
0
        private async Task <IEnumerable <ChallengeDto> > FetchChallengesAsync(EnumGame game)
        {
            var challenges = new List <ChallengeDto>();

            var fetchInProgressChallengesRequest = new FetchChallengesRequest
            {
                Game           = game,
                State          = EnumChallengeState.InProgress,
                IncludeMatches = true
            };

            var fetchInProgressChallengesResponse = await _challengeServiceClient.FetchChallengesAsync(fetchInProgressChallengesRequest);

            challenges.AddRange(fetchInProgressChallengesResponse.Challenges);

            var fetchEndedChallengesRequest = new FetchChallengesRequest
            {
                Game           = game,
                State          = EnumChallengeState.Ended,
                IncludeMatches = true
            };

            var fetchEndedChallengesResponse = await _challengeServiceClient.FetchChallengesAsync(fetchEndedChallengesRequest);

            challenges.AddRange(fetchEndedChallengesResponse.Challenges);

            return(challenges);
        }
Exemplo n.º 3
0
        public override async Task <FetchChallengesResponse> FetchChallenges(FetchChallengesRequest request, ServerCallContext context)
        {
            var challenges = await _challengeQuery.FetchChallengesAsync(
                request.Game.ToEnumerationOrNull <Game>(),
                request.State.ToEnumerationOrNull <ChallengeState>(),
                request.IncludeMatches);

            var response = new FetchChallengesResponse
            {
                Challenges =
                {
                    challenges.Select(ChallengeProfile.Map)
                }
            };

            return(context.Ok(response));
        }
Exemplo n.º 4
0
        public async Task FetchChallenges_ShouldBeOfTypeFetchChallengesResponse()
        {
            // Arrange
            var          userId = new UserId();
            const string email  = "*****@*****.**";

            var claims = new[] { new Claim(JwtClaimTypes.Subject, userId.ToString()), new Claim(JwtClaimTypes.Email, email) };
            var host   = TestHost.WithClaimsFromBearerAuthentication(claims);

            host.Server.CleanupDbContext();

            var request = new FetchChallengesRequest();

            var client = new ChallengeService.ChallengeServiceClient(host.CreateChannel());

            // Act
            var response = await client.FetchChallengesAsync(request);

            //Assert
            response.Should().BeOfType <FetchChallengesResponse>();
        }