public void AjouterUnCollegue_WhenColleagueInfosAreValid_ShouldNotThrowException() { // Arrange var collegueDto = new ColleguePostDto("Dupuis", "Jean", "*****@*****.**", new DateTime(1980, 1, 18), new Uri("https://img.huffingtonpost.com/asset/5901e5881400002000a9c22f.jpeg?ops=scalefit_720_noupscale")); var collegue = new Collegue(null, "Dupuis", "Jean", "*****@*****.**", new DateTime(1980, 1, 18), new Uri("https://img.huffingtonpost.com/asset/5901e5881400002000a9c22f.jpeg?ops=scalefit_720_noupscale")); var collegueRepositoryMock = Mock.Of <ICollegueRepository>(); var collegueServiceMock = Mock.Of <ICollegueService>(); Mock.Get(collegueRepositoryMock) .Setup(c => c.SaveColleagueAsync(It.IsAny <Collegue>())) .Returns(Task.FromResult(1)); Mock.Get(collegueServiceMock) .Setup(c => c.RechercherParMatricule(It.IsAny <string>())) .Returns(Task.FromResult(collegue)); var collegueService = new CollegueService(_mapper, collegueRepositoryMock); // Act var result = collegueService.AjouterUnCollegue(collegueDto); // Assert (no exception) }
public IActionResult PostNewCollegue([FromBody] ColleguePostDto collegueDto) { try { var context = new ValidationContext(collegueDto); ICollection <ValidationResult> result = null; var isValid = Validator.TryValidateObject(collegueDto, context, result, true); if (isValid) { return(Ok(_collegueService.AjouterUnCollegue(collegueDto).Result)); } else { return(BadRequest()); } } catch (ArgumentNullException) { return(BadRequest()); } catch (ProblemeTechniqueException) { return(BadRequest()); } }
public async Task <Collegue> AjouterUnCollegue(ColleguePostDto collegueDto) { if (collegueDto != null) { var collegue = _mapper.Map <ColleguePostDto, Collegue>(collegueDto); collegue.Matricule = Guid.NewGuid().ToString(); try { return(await Task.Run(() => _collegueRepository .SaveColleagueAsync(collegue)) .ContinueWith(antecedent => RechercherParMatricule(collegue.Matricule).Result, TaskScheduler.Default) .ConfigureAwait(false)); } catch (Exception) { throw new ProblemeTechniqueException(); } } else { throw new CollegueInvalideException(); } }