public async Task CreateClub_WhenCalled_CreateNewClub()
        {
            const int    id   = 1;
            const string name = "Arsenal";

            var clubCreateDto = new ClubCreateDto
            {
                Name = name
            };

            var expectedClub = new Club
            {
                Id   = id,
                Name = name
            };

            _clubService.Setup(c => c.GetByIdAsync(It.IsAny <int>())).ReturnsAsync(expectedClub);

            var result = await _clubsController.CreateClub(clubCreateDto);

            var okObjectResult      = result as OkObjectResult;
            var okObjectResultValue = okObjectResult.Value as ClubDetailDto;

            _clubService.Verify(c => c.CreateAsync(It.IsAny <Club>()), Times.Once);

            Assert.That(result, Is.TypeOf <OkObjectResult>());
            Assert.That(okObjectResultValue.Name, Is.EqualTo(name));
        }
Пример #2
0
        public ActionResult <ClubCreateDto> CreateClub(ClubCreateDto clubCreateDto)
        {
            var clubModel = _mapper.Map <Club>(clubCreateDto);

            _repository.CreateClub(clubModel);
            _repository.SaveChanges();

            var ClubReadDto = _mapper.Map <ClubReadDto>(clubModel);

            return(CreatedAtRoute(nameof(GetClubById), new { id = ClubReadDto.Id }, ClubReadDto));
            //return Ok(CommandReadDto);
        }
        public async Task <IActionResult> CreateClub([FromBody] ClubCreateDto clubCreateDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var clubToCreate = _mapper.Map <Club>(clubCreateDto);
            await _clubService.CreateAsync(clubToCreate);

            var club = await _clubService.GetByIdAsync(clubToCreate.Id);

            var returnClub = _mapper.Map <ClubDetailDto>(club);

            return(Ok(returnClub));
        }
Пример #4
0
 public virtual Task <ClubDto> CreateAsync(ClubCreateDto input)
 {
     return(_clubsAppService.CreateAsync(input));
 }