public PlaceOrderServiceTransact( IRequestCookieCollection cookiesIn, IResponseCookies cookiesOut, DataContext dataContext) { IPlaceOrderDbAccess dbAccess = new PlaceOrderDbAccess(dataContext); PlaceOrderPart1 placeOrderPart1 = new PlaceOrderPart1(dbAccess); PlaceOrderPart2 placeOrderPart2 = new PlaceOrderPart2(dbAccess); runner = new RunnerTransact2WriteDb <PlaceOrderInDto, Part1ToPart2Dto, Order>(dataContext, placeOrderPart1, placeOrderPart2); checkoutCookie = new CheckoutCookie(cookiesIn, cookiesOut); }
public void ExampleCodeForBook() { //SETUP var userId = Guid.NewGuid(); var options = SqliteInMemory.CreateOptions <EfCoreContext>(); using (var context = new EfCoreContext(options, new FakeUserIdService(userId))) { context.Database.EnsureCreated(); context.SeedDatabaseDummyBooks(); var lineItems = new List <OrderLineItem> { new OrderLineItem { BookId = 1, NumBooks = 4 }, new OrderLineItem { BookId = 2, NumBooks = 5 }, new OrderLineItem { BookId = 3, NumBooks = 6 } }; //ATTEMPT var dbAccess = new PlaceOrderDbAccess(context); var action1 = new PlaceOrderPart1(dbAccess); var action2 = new PlaceOrderPart2(dbAccess); var runner = new RunnerTransact2WriteDb < PlaceOrderInDto, Part1ToPart2Dto, Order>(context, action1, action2); var order = runner.RunAction(new PlaceOrderInDto(true, userId, lineItems.ToImmutableList())); //VERIFY runner.HasErrors.ShouldBeFalse(); context.Orders.Count().ShouldEqual(1); } }
public void ExampleCodeForBook() { //SETUP var inMemDb = new SqliteInMemory(); using (var context = inMemDb.GetContextWithSetup()) { context.SeedDatabaseDummyBooks(); var lineItems = new List <OrderLineItem> { new OrderLineItem { BookId = 1, NumBooks = 4 }, new OrderLineItem { BookId = 2, NumBooks = 5 }, new OrderLineItem { BookId = 3, NumBooks = 6 } }; var userId = Guid.NewGuid(); //ATTEMPT var dbAccess = new PlaceOrderDbAccess(context); var action1 = new PlaceOrderPart1(dbAccess); var action2 = new PlaceOrderPart2(dbAccess); var runner = new RunnerTransact2WriteDb < PlaceOrderInDto, Part1ToPart2Dto, Order>(context, action1, action2); var order = runner.RunAction(new PlaceOrderInDto(true, userId, lineItems.ToImmutableList())); //VERIFY runner.HasErrors.ShouldBeFalse(); context.Orders.Count().ShouldEqual(1); } }