public async Task AddBookCommand_should_not_be_valid_if_required_fields_are_empty(string title, string author) { // Arrange var file = new byte[] { 1, 2, 3 }; await using var ms = new MemoryStream(file); var contentType = "image/jpeg"; var newBook = new NewBookModel { Author = author, Title = title, Description = "Correct", Price = 1, Image = Helpers.CreateTestFormFile(ms, contentType) }; var validator = new AddBookCommandValidator(); // Act var result = await validator.ValidateAsync(new AddBookCommand(newBook)); // Assert Assert.False(result.IsValid); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Title))); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Author))); }
public async Task AddBookCommand_should_not_be_valid_if_fields_are_too_big() { // Arrange var file = new byte[] { 1, 2, 3 }; await using var ms = new MemoryStream(file); var contentType = "image/pdf"; var newBook = new NewBookModel { Author = new string('a', 129), Title = new string('a', 129), Description = new string('a', 2001), Price = 1, Image = Helpers.CreateTestFormFile(ms, contentType) }; var validator = new AddBookCommandValidator(); // Act var result = await validator.ValidateAsync(new AddBookCommand(newBook)); // Assert Assert.False(result.IsValid); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Title))); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Author))); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Description))); }
public async Task AddBookCommand_should_not_be_valid_if_image_has_wrong_mime_type() { // Arrange var file = new byte[] { 1, 2, 3 }; await using var ms = new MemoryStream(file); var contentType = "image/pdf"; var newBook = new NewBookModel { Author = "Correct", Title = "Correct", Description = "Correct", Price = 1, Image = Helpers.CreateTestFormFile(ms, contentType) }; var validator = new AddBookCommandValidator(); // Act var result = await validator.ValidateAsync(new AddBookCommand(newBook)); // Assert Assert.False(result.IsValid); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Image.ContentType))); }
public SeriesValidatorTests() { _listQueryValidator = new ListQueryValidator(); _detailsQueryValidator = new DetailsQueryValidator(); _addCommandValidator = new AddCommandValidator(); _updateCommandValidator = new UpdateCommandValidator(); _updatePartiallyCommandValidator = new UpdatePartiallyCommandValidator(); _deleteOneCommandValidator = new DeleteOneCommandValidator(); _deleteManyCommandValidator = new DeleteManyCommandValidator(); _addBookCommandValidator = new AddBookCommandValidator(); _deleteBookCommandValidator = new DeleteBookCommandValidator(); }
public async Task AddBookCommand_should_not_be_valid_if_image_is_empty() { // Arrange var newBook = new NewBookModel { Author = "Correct", Title = "Correct", Description = "Correct", Price = 1, Image = null }; var validator = new AddBookCommandValidator(); // Act var result = await validator.ValidateAsync(new AddBookCommand(newBook)); // Assert Assert.False(result.IsValid); Assert.Contains(result.Errors, failure => failure.PropertyName.EndsWith(nameof(newBook.Image))); }