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