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))); }
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); }
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)); }
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>(); }