public async Task <ActionResult> UpdateSeason(SeasonUpdateDto season) { if (await _seasonService.UpdateSeason(new Season { Id = season.Id, StartDate = season.StartDate, EndDate = season.EndDate })) { return(Ok()); } return(BadRequest()); }
public async Task UpdateSeason_WhenCalled_ReturnNotFound() { const int id = 1; const string updateName = "2019/2020"; var seasonUpdateDto = new SeasonUpdateDto { Name = updateName }; _seasonService.Setup(s => s.GetByIdAsync(id)).ReturnsAsync((Season)null); var result = await _seasonsController.UpdateSeason(id, seasonUpdateDto); _seasonService.Verify(s => s.GetByIdAsync(id), Times.Once); _seasonService.Verify(s => s.UpdateAsync(It.IsAny <Season>()), Times.Never); Assert.That(result, Is.TypeOf <NotFoundResult>()); }
public async Task <IActionResult> UpdateSeason(int id, [FromBody] SeasonUpdateDto seasonUpdateDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var season = await _seasonService.GetByIdAsync(id); if (season == null) { return(NotFound()); } _mapper.Map(seasonUpdateDto, season); await _seasonService.UpdateAsync(season); var updatedSeason = await _seasonService.GetByIdAsync(id); var returnSeason = _mapper.Map <SeasonDetailDto>(updatedSeason); return(Ok(returnSeason)); }
public async Task UpdateSeason_WhenCalled_UpdateExistingSeason() { const int id = 1; const string updateName = "2019/2020"; var seasonUpdateDto = new SeasonUpdateDto { Name = updateName }; var season = new Season { Id = id, Name = "2018/2019" }; var expectedSeason = new Season { Id = id, Name = updateName }; _seasonService.SetupSequence(s => s.GetByIdAsync(id)) .ReturnsAsync(season) .ReturnsAsync(expectedSeason); var result = await _seasonsController.UpdateSeason(id, seasonUpdateDto); var okObjectResult = result as OkObjectResult; var okObjectResultValue = okObjectResult.Value as SeasonDetailDto; _seasonService.Verify(s => s.GetByIdAsync(id), Times.Exactly(2)); _seasonService.Verify(s => s.UpdateAsync(It.IsAny <Season>()), Times.Once); Assert.That(result, Is.TypeOf <OkObjectResult>()); Assert.That(okObjectResultValue.Name, Is.EqualTo(updateName)); }