public async Task Validation_suceed_when_category_is_valid() { var category = new Data.Entity.Category { Name = "Category name" }; var result = await GetCategoryValidator().ValidateAsync(category); Assert.IsNotNull(result); Assert.IsTrue(result.IsValid); Assert.IsFalse(result.ValidationEntries.Any()); }
public async Task Validation_fails_when_name_is_null() { var category = new Data.Entity.Category(); var result = await GetCategoryValidator().ValidateAsync(category); Assert.IsNotNull(result); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.ValidationEntries.Any(e => e.PropertyName == nameof(category.Name) && e.Severity == Severity.Error && e.ErrorMessage == "{0} is mandatory")); }
public async Task Validation_fails_when_category_in_command_has_id() { var category = new Data.Entity.Category { Name = "Category name", Id = 1 }; var command = new CreateCategoryCommand(category); var result = await GetCommandValidator().ValidateAsync(command); Assert.IsNotNull(result); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.ValidationEntries.Any(e => e.PropertyName == nameof(command.Category.Id) && e.Severity == Severity.Error && e.ErrorMessage == "{0} should not be specified on creation")); }
public async Task Handler_creates_new_category_with_the_correct_properties() { var category = new Data.Entity.Category() { Name = "Test category", Description = "Test description", Active = true }; var command = new CreateCategoryCommand(category); var response = await mediator.ProcessCommandAsync <int>(command); Assert.That.This(response.Successful).IsTrue("The command response is successful"); var createdCategory = await Context.Categories.SingleAsync(p => p.Id == response.Result); Assert.That.This(createdCategory).HasSameProperties(category, "Id"); Assert.That.This(Context.Categories.Any()).IsTrue(); }
public async Task Handler_get_category_by_id_with_the_correct_properties() { var category = new Data.Entity.Category { Name = DateTime.Now.ToString(CultureInfo.InvariantCulture), Description = "Test description", Active = true }; await Context.Categories.AddAsync(category); await Context.SaveChangesAsync(); var query = new GetCategoryByIdQuery(category.Id); var dbCategory = await mediator.ProcessQueryAsync(query); Assert.IsNotNull(dbCategory); Assert.That.This(dbCategory).HasSameProperties(category); }
public UpdateCategoryCommand(int id, Data.Entity.Category category) { CategoryId = id; Category = category; }
public void Update(long id, CategoryParam param) { Data.Entity.Category oldEntity = Dao.Find(id); Data.Entity.Category newEntity = ParamConverter.Convert(param, oldEntity); Dao.Update(newEntity); }
public CategoryResult Find(long id) { Data.Entity.Category entity = Dao.Find(id); return(ResultConverter.Convert(entity)); }
public CategoryResult Create(CategoryParam param) { Data.Entity.Category entity = ParamConverter.Convert(param, null); entity = Dao.Save(entity); return(ResultConverter.Convert(entity)); }
public Data.Entity.Category Update(Data.Entity.Category entity) { Delete(entity.Id); Save(entity); return(entity); }
public Data.Entity.Category Save(Data.Entity.Category entity) { CategoryData.Data.Add(entity.Id, entity); return(entity); }
public void Delete(Data.Entity.Category entity) { CategoryData.Data.Remove(entity.Id); }
public void Delete(long id) { Data.Entity.Category entity = Find(id); Delete(entity); }
public CreateCategoryCommand(Data.Entity.Category category) { Category = category; }
public CategoryModel(Data.Entity.Category entity) { this.CategoryId = entity.CategoryId; this.Name = entity.Name; }