コード例 #1
0
        public void Given_LeagueDoesNotExist_When_GetTeamLeagueMatchEvents_Then_TeamLeagueNotFoundExceptionIsThrown()
        {
            // Arrange
            var teams  = new TeamsBuilder().Build();
            var league = new TeamLeagueBuilder()
                         .WithCompetitors(teams)
                         .WithRounds()
                         .WithGoals()
                         .Build();

            var leagues     = Enumerable.Repeat(league, 1);
            var contextMock = MockDbContext(leagues.AsQueryable());
            var loggerMock  = new Mock <ILogger <GetTeamLeagueMatchEventsQueryHandler> >();
            var handler     = new GetTeamLeagueMatchEventsQueryHandler(
                contextMock.Object, loggerMock.Object
                );

            // Act
            var guid    = new Guid("00000000-0000-0000-0000-000000000000");
            var request = new GetTeamLeagueMatchEventsQuery
            {
                LeagueName = "DoesNotExist",
                MatchGuid  = guid,
                TeamName   = "Tottenham Hotspur"
            };
            Func <Task> func = async() => await handler.Handle(request, CancellationToken.None);

            // Assert
            func.Should().Throw <TeamLeagueNotFoundException>();
        }
コード例 #2
0
        public async void Given_GoalsExist_When_GetTeamLeagueMatchEvents_Then_ReturnGoals()
        {
            // Arrange
            var teams  = new TeamsBuilder().Build();
            var league = new TeamLeagueBuilder()
                         .WithCompetitors(teams)
                         .WithRounds()
                         .WithGoals()
                         .Build();

            var leagues     = Enumerable.Repeat(league, 1);
            var contextMock = MockDbContext(leagues.AsQueryable());
            var loggerMock  = new Mock <ILogger <GetTeamLeagueMatchEventsQueryHandler> >();
            var handler     = new GetTeamLeagueMatchEventsQueryHandler(
                contextMock.Object, loggerMock.Object
                );

            // Act
            var guid    = new Guid("00000000-0000-0000-0000-000000000000");
            var request = new GetTeamLeagueMatchEventsQuery
            {
                LeagueName = "Premier League",
                MatchGuid  = guid,
                TeamName   = "Tottenham Hotspur"
            };
            var result = await handler.Handle(request, CancellationToken.None);

            // Assert
            result.Goals.Count().Should().Be(2);
            result.Goals.ToList().ForEach(e =>
            {
                var goal = e.Should().BeAssignableTo <IGoalDto>().Subject;
                int.Parse(goal.Minute).Should().BeInRange(1, 90);
            });
        }