public void Given_LeagueDoesNotExist_When_GetTeamLeagueMatchLineupEntry_Then_ReturnNull()
        {
            // Arrange
            var teams  = new TeamsBuilder().Build();
            var league = new TeamLeagueBuilder()
                         .WithCompetitors(teams)
                         .WithRounds()
                         .Build();

            var leagues     = Enumerable.Repeat(league, 1);
            var contextMock = MockDbContext(leagues.AsQueryable());
            var handler     = new GetTeamLeagueMatchLineupEntryQueryHandler(
                contextMock.Object, Mapper.MapperConfig()
                );
            var match            = league.Rounds[0].Matches[0];
            var lineupPlayerGuid = match.MatchEntries.First().Lineup.First().Guid;

            //Act
            var request = new GetTeamLeagueMatchLineupEntryQuery
            {
                LeagueName      = "DoesNotExist",
                MatchGuid       = match.Guid,
                LineupEntryGuid = lineupPlayerGuid
            };
            Func <Task> func = async() => await handler.Handle(request, CancellationToken.None);

            //Assert
            func.Should().Throw <LineupEntryNotFoundException>();
        }
        public void Given_MatchDoesNotExist_When_GetTeamLeagueMatchLineupEntry_Then_ThrowLineupEntryNotFoundException()
        {
            // Arrange
            var teams  = new TeamsBuilder().Build();
            var league = new TeamLeagueBuilder()
                         .WithCompetitors(teams)
                         .WithRounds()
                         .Build();

            var leagues     = Enumerable.Repeat(league, 1);
            var contextMock = MockDbContext(leagues.AsQueryable());
            var handler     = new GetTeamLeagueMatchLineupEntryQueryHandler(
                contextMock.Object, Mapper.MapperConfig()
                );

            //Act
            var request = new GetTeamLeagueMatchLineupEntryQuery
            {
                LeagueName      = "Premier League",
                MatchGuid       = new Guid("00000000-0000-0000-0000-000000000001"),
                LineupEntryGuid = new Guid("00000000-0000-0000-0000-000000000001")
            };
            Func <Task> func = async() => await handler.Handle(request, CancellationToken.None);

            //Assert
            func.Should().Throw <LineupEntryNotFoundException>();
        }
        public async void Given_LineupEntryDoesExist_When_GetTeamLeagueMatchLineupEntry_Then_ReturnLineupEntry()
        {
            // Arrange
            var teams  = new TeamsBuilder().Build();
            var league = new TeamLeagueBuilder()
                         .WithCompetitors(teams)
                         .WithRounds()
                         .Build();

            var leagues     = Enumerable.Repeat(league, 1);
            var contextMock = MockDbContext(leagues.AsQueryable());
            var handler     = new GetTeamLeagueMatchLineupEntryQueryHandler(
                contextMock.Object, Mapper.MapperConfig()
                );
            var match           = league.Rounds[0].Matches[0];
            var lineupEntryGuid = match.MatchEntries.First().Lineup.First().Guid;

            //Act
            var request = new GetTeamLeagueMatchLineupEntryQuery
            {
                LeagueName      = "Premier League",
                MatchGuid       = match.Guid,
                LineupEntryGuid = lineupEntryGuid
            };
            var result = await handler.Handle(request, CancellationToken.None);

            //Assert
            result.Should().NotBeNull();
            result.Guid.Should().Be(lineupEntryGuid);
            result.TeamName.Should().NotBeNullOrEmpty();
        }
Ejemplo n.º 4
0
        public async Task <Application.TeamLeagueMatches.Queries.GetTeamLeagueMatchLineupEntry.LineupEntryDto> GetTeamLeagueMatchLineupEntry(GetTeamLeagueMatchLineupEntryQuery query)
        {
            var response = await httpRequestFactory.Get($"{teamLeagueApiUrl}/{query.LeagueName}/matches/{query.MatchGuid}/lineup/{query.LineupEntryGuid}");

            if (response.IsSuccessStatusCode)
            {
                return(response.ContentAsType <Application.TeamLeagueMatches.Queries.GetTeamLeagueMatchLineupEntry.LineupEntryDto>());
            }
            return(null);
        }