public IActionResult Put(int id, [FromBody] PostDto dto, [FromServices] UpdatePostValidator validator) { dto.Id = id; var post = _context.Posts.Find(id); if (post == null) { return(NotFound()); } var result = validator.Validate(dto); if (!result.IsValid) { return(result.AsUnprocessableEntity()); } _mapper.Map(dto, post); try { _context.SaveChanges(); return(NoContent()); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public void NullContentInvalid() { var validator = new UpdatePostValidator(); ValidationResult result = validator.Validate(new Post { Id = 1, Author = "Test", Content = null }); Assert.That(result, Is.Not.Null); Assert.That(result.IsValid, Is.False); Assert.That( result.Errors.Count(x => x.PropertyName == "Content" && x.ErrorMessage.Contains("empty")), Is.EqualTo(1)); }
public void TearDown() { this.createValidator = null; this.updateValidator = null; }
public void Setup() { this.createValidator = A.Fake<CreatePostValidator>(); this.updateValidator = A.Fake<UpdatePostValidator>(); }
public void Valid() { var validator = new UpdatePostValidator(); ValidationResult result = validator.Validate(new Post { Id = 1, Author = "Test", Content = "Test" }); Assert.That(result, Is.Not.Null); Assert.That(result.IsValid, Is.True); Assert.That(result.Errors.Count, Is.EqualTo(0)); }
public EfUpdatePostCommand(PhoTexBlogContext context, UpdatePostValidator validator, IApplicationActor actor) { _context = context; _validator = validator; _actor = actor; }