public void MuiltChangeTest() { var unitOfWorkObj = new EfUnitOfWork(null /*ILogger*/); //{ DbContextFactory = _dbContextFactory }; var uoWdbContextProvider = new EfUnitOfWorkDbContextProvider(new EfUnitOfWorkManager(IoCManager, null /*ILogger*/), IoCManager, null /*ILogger*/); var orderRepo = new FakeOrderRepository(uoWdbContextProvider); var productRepo = new FakeProductRepository(uoWdbContextProvider); var userRepo = new FakeUserRepository(uoWdbContextProvider); unitOfWorkObj.Begin(new UnitOfWorkOption()); try { //orderRepo.Insert(FakeOrder.Fake()); productRepo.InsertAsync(FakeProduct.Fake()).GetAwaiter(); userRepo.InsertAsync(FakeUser.Fake()).GetAwaiter(); unitOfWorkObj.CommitAsync().GetAwaiter().GetResult(); } catch (Exception ex) { //Assert.F("发生异常:" + ex.Message); } finally { unitOfWorkObj.Dispose(); } }
public void ApprovesTheOrderBeforeSaving() { // Arrange var order = new Order(); var paymentInfo = new PaymentInfo(); var paymentServiceStub = _Fixture.CreateProcessPaymentStub(PaymentStatus.Approved); var orderRepoFake = new FakeOrderRepository(); var uow = new OrderService(orderRepoFake, paymentServiceStub); // Act uow.Process(order, paymentInfo); // Assert Assert.Equal(OrderStatus.Approved, orderRepoFake.Order.OrderStatus); }
public void CancelsTheOrder() { // Arrange var order = new Order() { PaymentAuthCode = "12345" }; var paymentServiceStub = _Fixture.CreateRefundPaymentStub(PaymentStatus.Refunded); var orderRepoFake = new FakeOrderRepository(); var uow = new OrderService(orderRepoFake, paymentServiceStub); // Act uow.Refund(order); // Assert Assert.Equal(OrderStatus.Canceled, orderRepoFake.Order.OrderStatus); }
public void MuiltChangeTest() { var unitOfWorkObj = new EfUnitOfWork();//{ DbContextFactory = _dbContextFactory }; var unitOfWorkDbContextFactory = new DefualtDbContextFactory() { UnitOfWork = unitOfWorkObj }; var orderRepo = new FakeOrderRepository() { DbContextFactory = unitOfWorkDbContextFactory }; var productRepo = new FakeProductRepository() { DbContextFactory = unitOfWorkDbContextFactory }; var userRepo = new FakeUserRepository() { DbContextFactory = unitOfWorkDbContextFactory }; unitOfWorkObj.BeginTransaction(new UnitOfWorkOptions()); try { //orderRepo.Insert(FakeOrder.Fake()); productRepo.Insert(FakeProduct.Fake()); userRepo.Insert(FakeUser.Fake()); unitOfWorkObj.Commit(); } catch (Exception ex) { unitOfWorkObj.RollBack(); Assert.Fail("发生异常:" + ex.Message); } finally { unitOfWorkObj.Dispose(); } }