public async Task <IActionResult> UpdateDefectAsync(int id, UpdateDefectDto updateDefectDto) { if (id != updateDefectDto.Id) { return(NotFound(resourcesManager.GetString("NotExist"))); } var defect = await defectsService.UpdateDefectAsync(updateDefectDto); if (defect == null) { return(NotFound(resourcesManager.GetString("NotFound"))); } return(Ok(defect)); }
/// <summary> /// Change one or many properties of car in the database. /// </summary> /// <param name="updateDefectDto"></param> /// <returns>return updated defect mapped to DefectDto</returns> public async Task <DefectDto> UpdateDefectAsync(UpdateDefectDto updateDefectDto) { var defect = await defectRepository.FindDefectByIdAsync(updateDefectDto.Id); if (defect == null) { return new DefectDto() { Status = updateDefectDto.Status, Description = updateDefectDto.Description, DefectId = updateDefectDto.Id } } ; defect.Update(updateDefectDto.Description, updateDefectDto.Status); await defectRepository.SaveChangesAsync(); return(mapper.Map <DefectDto>(defect)); } }
public async Task UpdateDefect_DefectNotFound_ReturnMapObject() { UpdateDefectDto updateDefectDto = new UpdateDefectDto() { Id = 1, Description = "Broken door", Status = Status.InRepair }; mockDefectsRepository .Setup(p => p.FindDefectByIdAsync(updateDefectDto.Id)) .ReturnsAsync(null as Defect); var services = new DefectService(mockUsersRepository.Object, mockCarsRepository.Object, mapper, mockDefectsRepository.Object); //Act var result = await services.UpdateDefectAsync(updateDefectDto); //Assert var assertResult = Assert.IsType <DefectDto>(result); Assert.Equal(result.DefectId, updateDefectDto.Id); Assert.Equal(result.Description, updateDefectDto.Description); Assert.Equal(result.Status, updateDefectDto.Status); }
public async Task UpdateDefect_CorrectObject_ReturnMapObject() { UpdateDefectDto updateDefectDto = new UpdateDefectDto() { Id = 1, Description = "Broken door", Status = Status.InRepair }; Defect Defect = new Defect() { DefectId = 1, Description = "Door Finished", Status = Status.Finished }; mockDefectsRepository .Setup(p => p.FindDefectByIdAsync(updateDefectDto.Id)) .ReturnsAsync(new Defect() { DefectId = 1, Description = "Door Finished", Status = Status.Finished }); mockDefectsRepository .Setup(s => s.SaveChangesAsync()) .Verifiable(); var services = new DefectService(mockUsersRepository.Object, mockCarsRepository.Object, mapper, mockDefectsRepository.Object); //Act var result = await services.UpdateDefectAsync(updateDefectDto); //Assert var assertResult = Assert.IsType <DefectDto>(result); Assert.Equal(result.Description, updateDefectDto.Description); Assert.Equal(result.Status, updateDefectDto.Status); }