public void UpsertStockCommandHandler_EmptyDbUpsertOneObject_ObjectSaved() { //given var stocks = new[] { new Stock { Name = "test1", Balance = new Balance { Value = 12.45m } } }; var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertStocksCommandHandler(repository); var command = new UpsertStocksCommand(stocks); //when handler.Execute(command); //then var orderedStocksInDatabase = repository.Database.Query <Stock>().OrderBy(x => x.Id).ToArray(); Assert.Equal(stocks.OrderBy(x => x.Id), orderedStocksInDatabase); Assert.Equal(stocks[0].Balance, orderedStocksInDatabase[0].Balance); Assert.Equal(stocks[0].Balance.Value, orderedStocksInDatabase[0].Balance.Value); }
public void UpsertStockCommandHandler_EmptyDbUpsertList_ListSaved() { //given var stocks = new[] { new Stock { Name = "test1" }, new Stock { Name = "test2" } }; var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertStocksCommandHandler(repository); var command = new UpsertStocksCommand(stocks); //when handler.Execute(command); //then var orderedStocksInDatabase = repository.Database.Query <Stock>().OrderBy(x => x.Id); Assert.Equal(stocks.OrderBy(x => x.Id), orderedStocksInDatabase); }
public void UpsertStockCommandHandler_NullEmptyDb_EmptyDb() { //given var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertStocksCommandHandler(repository); var command = new UpsertStocksCommand((Stock)null); //when handler.Execute(command); //then Assert.Empty(repository.Database.Query <Stock>()); }
public void UpsertStockCommandHandler_NotEmptyDbUpsertList_ListUpdated() { //given var stocks = new[] { new Stock { Name = "test1" }, new Stock { Name = "test2" } }; var repository = LiteDbHelper.CreateMemoryDb(); var handler = new UpsertStocksCommandHandler(repository); var command = new UpsertStocksCommand(stocks); repository.Database.UpsertBulk(stocks); foreach (var stock in stocks) { stock.Name += " - updated"; } //when handler.Execute(command); //then var orderedStocksInDatabase = repository.Database.Query <Stock>().OrderBy(x => x.Id).ToArray(); stocks = stocks.OrderBy(x => x.Id).ToArray(); Assert.Equal(stocks, orderedStocksInDatabase); for (int i = 0; i < stocks.Length; i++) { Assert.Equal(stocks[i].Name, orderedStocksInDatabase[i].Name); } }