public async Task <ActionResult <TeamViewModel> > UpdateTeamPlayers([FromBody] UpdateTeamPlayersCommand updateTeamPlayersCommand)
 {
     return(ResolveResult(await Mediator.Send(updateTeamPlayersCommand)));
 }
示例#2
0
        public async Task UpdateTeamPlayersCommand_Can_Add_Team()
        {
            using (var dbContext = GetDbContext("UpdateTeamPlayersCommand_Can_Add_Team"))
            {
                var fakePlayerRepo = new PlayerRepository(dbContext);
                await fakePlayerRepo.AddAsync(new Domain.Entities.Player
                {
                    Name         = "FirstPlayer",
                    Surname      = "LastName",
                    Height       = 1.98,
                    EmailAddress = "*****@*****.**"
                });

                await fakePlayerRepo.AddAsync(new Domain.Entities.Player
                {
                    Name         = "SecondPlayer",
                    Surname      = "LastName",
                    Height       = 1.98,
                    EmailAddress = "*****@*****.**"
                });

                var fakeTeamRepo = new TeamRepository(dbContext);

                await fakeTeamRepo.AddAsync(new Domain.Entities.Team
                {
                    Name      = "TeamName",
                    Longitude = 1.11,
                    Latitude  = 1.43,
                });

                var fakeTeam = fakeTeamRepo.GetTeamByIdAsync(1).Result;

                var fakePlayerOne = fakePlayerRepo.GetPlayerByIdAsync(1).Result;

                fakePlayerOne.Team = fakeTeam;
                fakeTeam.Players   = new List <Player> {
                    fakePlayerOne
                };

                await fakePlayerRepo.UpdateAsync(fakePlayerOne);

                await fakeTeamRepo.UpdateAsync(fakeTeam);

                var fakeLogger = new Mock <ILogger <UpdateTeamPlayersCommandHandler> >();
                var handler    = new UpdateTeamPlayersCommandHandler(fakeTeamRepo, fakePlayerRepo, GetMapper(), fakeLogger.Object);

                var command = new UpdateTeamPlayersCommand
                {
                    Id        = 1,
                    PlayerIds = new List <int> {
                        2
                    }
                };

                var result = await handler.Handle(command, default);

                Assert.False(result.Notifications.HasErrors());

                Assert.Equal(command.Id, result.TeamLookupModel.Id);
                Assert.Equal(1, result.TeamLookupModel.Players.ToList()[0].Id);
                Assert.Equal(command.PlayerIds.ToList()[0], result.TeamLookupModel.Players.ToList()[1].Id);
            }
        }