Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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>());
        }
Exemplo n.º 3
0
        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);
            }
        }