public void Given_TeamLeagueDoesNotExist_When_AddPlayerToTeamCompetitor_Then_Exception()
        {
            // Arrange
            var builder = new TeamLeagueBuilder()
                          .WithCompetitors(new TeamsBuilder().Build());

            var teamLeague = builder.Build();
            var players    = new Domain.Player.Player[] { new Domain.Player.Player {
                                                              FirstName = "John", LastName = "Doe"
                                                          } };

            var contextMock = MockDbContext(
                new List <TeamLeague> {
                teamLeague
            }.AsQueryable(),
                players.AsQueryable());
            var handler = new AddPlayerToTeamCompetitorCommandHandler(contextMock.Object);

            //Act
            var command = new AddPlayerToTeamCompetitorCommand
            {
                LeagueName   = "DoesNotExist",
                TeamName     = "Tottenham Hotspur",
                PlayerNumber = "1",
                PlayerName   = "John Doe"
            };
            Func <Task> func = async() => await handler.Handle(command, CancellationToken.None);

            //Assert
            func.Should().Throw <TeamLeagueNotFoundException>();
        }
        public async void Given_AllConditionsPass_When_AddPlayerToTeamCompetitor_Then_Success()
        {
            // Arrange
            var builder = new TeamLeagueBuilder()
                          .WithCompetitors(new TeamsBuilder().Build());

            var teamLeague = builder.Build();
            var players    = new Domain.Player.Player[] { new Domain.Player.Player {
                                                              FirstName = "John", LastName = "Doe"
                                                          } };

            var contextMock = MockDbContext(
                new List <TeamLeague> {
                teamLeague
            }.AsQueryable(),
                players.AsQueryable());
            var handler = new AddPlayerToTeamCompetitorCommandHandler(contextMock.Object);

            //Act
            var command = new AddPlayerToTeamCompetitorCommand
            {
                LeagueName   = "Premier League",
                TeamName     = "Tottenham Hotspur",
                PlayerNumber = "1",
                PlayerName   = "John Doe"
            };
            var result = await handler.Handle(command, CancellationToken.None);

            //Assert
            result.Should().Be(Unit.Value);
            contextMock.Verify(mock => mock.SaveChangesAsync(It.IsAny <CancellationToken>()), Times.Once());
        }
        public void When_LeagueNameIsEmpty_Then_ValidationError()
        {
            var command = new AddPlayerToTeamCompetitorCommand
            {
                LeagueName = ""
            };

            var validator = new AddPlayerToTeamCompetitorCommandValidator();

            validator.ShouldHaveValidationErrorFor(x => x.LeagueName, command);
        }
        public void When_PlayerNameIsEmpty_Then_ValidationError()
        {
            var command = new AddPlayerToTeamCompetitorCommand
            {
                LeagueName = "Premier League",
                TeamName   = "Tottenham Hotspur",
                PlayerName = ""
            };

            var validator = new AddPlayerToTeamCompetitorCommandValidator();

            validator.ShouldHaveValidationErrorFor(x => x.PlayerName, command);
        }
示例#5
0
        public async Task <IActionResult> AddPlayerToTeamCompetitor(string leagueName, AddPlayerToTeamCompetitorCommand command)
        {
            try
            {
                await mediator.Send(command);

                return(Created($"/teamLeague/{leagueName}/competitor/{command.TeamName}/player/{command.PlayerName}", command));
            }
            catch (TeamLeagueNotFoundException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (TeamNotFoundException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (PlayerNotFoundException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception)
            {
                return(BadRequest("Something went wrong!"));
            }
        }