Example #1
0
        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));
            }
        }
Example #2
0
        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))));
        }