public async Task <IActionResult> Post(TeamForNew team) { // mapear o DTO para o modelo var teamMapped = _mapper.Map <Team>(team); // Se não foi passado um guid então criamos um if (Guid.Empty.Equals(teamMapped.Id)) { teamMapped.Id = Guid.NewGuid(); } // Adiciona o novo time _repository.AddTeam(teamMapped); // Salva o time no bd if (await _repository.SaveAll()) { return(CreatedAtRoute(nameof(GetTeam), new { id = teamMapped.Id }, "Team created.")); } else { string errorMsg = "Failed adding team on server."; _logger.LogError(errorMsg); return(this.NotFound(errorMsg)); } }
public async void CreateTeam_AddsTeamToList() { // 1A TeamsController controller = new TeamsController(_memoryRepositoryHelper .RepoWith5Teams(), _mapper, _logger); var okResult = Assert.IsType <OkObjectResult>(await controller.GetAllTeams()); var teams = Assert.IsType <List <TeamForList> >(okResult.Value); TeamForNew t1 = new TeamForNew() { name = "fake6", id = Guid.Parse(FakeMemoryRepositoryHelper.NOT_IN_USE_1) }; // 2A var result = await controller.Post(t1); // 3A var okResult1 = Assert.IsType <CreatedAtRouteResult>(result); var returnValue = Assert.IsType <string>(okResult1.Value); Assert.Equal("Team created.", returnValue); var okResult2 = Assert.IsType <OkObjectResult>(await controller.GetAllTeams()); var newTeams = Assert.IsType <List <TeamForList> >(okResult2.Value); Assert.Equal(newTeams.Count(), teams.Count() + 1); Assert.NotNull(newTeams.FirstOrDefault(x => x.id.Equals(Guid.Parse(FakeMemoryRepositoryHelper.NOT_IN_USE_1)))); }