public async Task <List <ValidationResult> > ValidateCreateRequest(CreateGlossaryTermRequest request) { var result = new List <ValidationResult>(); if (request == null) { result.Add(new ValidationResult("Bad request.")); return(result); } if (string.IsNullOrEmpty(request.Term)) { result.Add(new ValidationResult("Term can not be empty.")); return(result); } GlossaryTerm glossaryTerm = await _dataRepository.FindByIdTerm(request.Term); if (glossaryTerm != null) { result.Add(new ValidationResult("The term already exists.")); } return(result); }
public async Task CreateGlossaryTerm(CreateGlossaryTermRequest request) { var term = new GlossaryTerm { Term = request.Term, Definition = request.Definition }; await _dataRepository.Add(term); }
public async Task <IActionResult> Post([FromBody] CreateGlossaryTermRequest glossaryTermRequest) { var result = await _termService.ValidateCreateRequest(glossaryTermRequest); if (result.Count > 0) { return(BadRequest(result)); } await _termService.CreateGlossaryTerm(glossaryTermRequest); return(Ok()); }
public void Test_CanCreateGlossaryTerm() { //Arrange var newGlossaryTerm = new CreateGlossaryTermRequest { Term = "Actuary", Definition = "Actuaries are employed by insurance companies and pensions providers to calculate factors such as life expectancy, accident rates and likely payouts by using complex mathematical formulas" }; // Act var result = _glossaryTermService.CreateGlossaryTerm(newGlossaryTerm); // Assert _termRepository.Verify(r => r.Add(It.Is <GlossaryTerm>(t => t.Term == "Actuary")), Times.Once); }