public void UpsertCategoriesCommandHandler_EmptyDbUpsertList_ListSaved() { //given var categories = new[] { new Category { Name = "test1" }, new Category { Name = "test2" } }; var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertCategoriesCommandHandler(repository); var command = new UpsertCategoriesCommand(categories); //when handler.Execute(command); //then var orderedCategoryInDatabase = repository.Database.Query <Category>().OrderBy(x => x.Id); Assert.Equal(categories.OrderBy(x => x.Id), orderedCategoryInDatabase); }
public void UpsertCategoriesCommandHandler_NullEmptyDb_EmptyDb() { //given var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertCategoriesCommandHandler(repository); var command = new UpsertCategoriesCommand((Category)null); //when handler.Execute(command); //then Assert.Empty(repository.Database.Query <Category>()); }
public void UpsertCategoriesCommandHandler_NotEmptyDbUpsertList_ListUpdated() { //given var categories = new[] { new Category { Name = "test1" }, new Category { Name = "test2" } }; var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertCategoriesCommandHandler(repository); var command = new UpsertCategoriesCommand(categories); repository.Database.UpsertBulk(categories); foreach (var category in categories) { category.Name += " - updated"; } //when handler.Execute(command); //then var orderedCategoryInDatabase = repository.Database.Query <Category>().OrderBy(x => x.Id).ToArray(); categories = categories.OrderBy(x => x.Id).ToArray(); Assert.Equal(categories, orderedCategoryInDatabase); for (int i = 0; i < categories.Length; i++) { Assert.Equal(categories[i].Name, orderedCategoryInDatabase[i].Name); } }