public void IsOrderExistShouldreturnTrueIfOrderExist() { var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var db = new ApplicationDbContext(optionsBuilder.Options); var deleteOrderService = new DeleteOrderService(db); var currShipment = new Shipment() { CountOfPallets = 777, LoadingDate = DateTime.UtcNow.AddDays(5), LoadingAddress = new Address() { Town = "Aitos" }, UnloadingAddress = new Address() { Town = "Vidin" } }; var currorder = new Order { Shipment = currShipment, }; db.Orders.Add(currorder); db.SaveChanges(); bool result = deleteOrderService.IsOrderExist(currorder.Id); Assert.True(result); }
public async Task DeleteOrderShouldDeleteOrderFromDbAndAllConnectedMessagesWithThisOrder() { //5. Правя нов DbContextOptionsBuilder, който казва че настройките са му да работи във виртуална база данни а не в Sql база var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); //3. Правя си нов DbContex, който да подам на deleteOrderService //4. Но при направата на DbContext, пък ми трябва optionsBuilder var db = new ApplicationDbContext(optionsBuilder.Options); //1. Правя си инстанция на service, който ще тествам. //2. На тази инстанция и трябва db var deleteOrderService = new DeleteOrderService(db); var currShipment = new Shipment() { CountOfPallets = 777, LoadingDate = DateTime.UtcNow.AddDays(5), LoadingAddress = new Address() { Town = "Aitos" }, UnloadingAddress = new Address() { Town = "Vidin" } }; var currorder = new Order { Shipment = currShipment, }; var messages = new List <Message>() { new Message { Text = "Hello", Order = currorder, CreatedOn = DateTime.UtcNow }, new Message { Text = "Can I ask you a question", Order = currorder, CreatedOn = DateTime.UtcNow }, }; currorder.Messages = messages; await db.Orders.AddAsync(currorder); await db.SaveChangesAsync(); bool result = deleteOrderService.DeleteOrderAsync(currorder.Id).Result; Assert.True(result); Assert.Equal(0, db.Orders.Count()); }
private DeleteOrderService GetMockedDeleteOrderService() { var mockedDbContext = MockDefaultHelper .GetMockedDbContext() .AddMockedOrders(); var mockedOrderValidator = new OrderValidator(); var mockedDeleteOrderSpecificationsValidator = new DeleteOrderSpecificationsValidator(); var mockedDeleteOrderService = new DeleteOrderService( mockedDbContext.Object, mockedOrderValidator, mockedDeleteOrderSpecificationsValidator ); return(mockedDeleteOrderService); }