コード例 #1
0
        public void SetupBeforeEachTest()
        {
            _billRepository     = new Mock <IBillRepository>();
            _userRepository     = new Mock <IUserRepository>();
            _deliveryRepository = new Mock <IDeliveryRepository>();
            _wayRepository      = new Mock <IWayRepository>();

            _billRepository.Setup(a => a.FindByIdAndIsDeliveryPaidFalse(ServicesTestConstant.getBillId()))
            .Returns(ServicesTestConstant.getBill());
            _billRepository.Setup(a => a.FindAllByUserIdAndIsDeliveryPaidFalse(It.IsAny <string>()))
            .Returns(ServicesTestConstant.getBills());

            _userRepository.Setup(a => a.FindByIdAndUserMoneyInCentsGreaterThanEqual
                                      (ServicesTestConstant.getUserId(), ServicesTestConstant.getBill().CostInCents)
                                  ).Returns(ServicesTestConstant.getAddreser());

            _userRepository.Setup(a => a.FindByEmail(It.IsAny <string>())
                                  ).Returns(ServicesTestConstant.getAdversee());
            _userRepository.Setup(a => a.FindByName(It.IsAny <string>())
                                  ).Returns(ServicesTestConstant.getAdversee());

            _wayRepository.Setup(a => a.FindByLocalitySand_IdAndLocalityGet_Id
                                     (It.IsAny <long>(), It.IsAny <long>())
                                 ).Returns(ServicesTestConstant.getWay());
            _billService = new BillService
                               (_billRepository.Object, _userRepository.Object, _deliveryRepository.Object, _wayRepository.Object);
        }
コード例 #2
0
        public void GetDeliveryInfoToGet()
        {
            Delivery delivery = ServicesTestConstant.getDelivery();

            delivery.Bill      = ServicesTestConstant.getBill();
            delivery.Bill.User = ServicesTestConstant.getAddreser();
            DeliveryInfoToGetDto deliveryInfoToGetDto = ServicesTestConstant.getDeliveryInfoToGetDto();

            deliveryInfoToGetDto.LocalityGetName  = delivery.Way.LocalityGet.NameEn;
            deliveryInfoToGetDto.LocalitySandName = delivery.Way.LocalitySand.NameEn;

            _deliveryRepository.Setup(s => s.FindAllByAddressee_IdAndIsPackageReceivedFalseAndBill_IsDeliveryPaidTrue(
                                          ServicesTestConstant.getUserId())).Returns(new List <Delivery> {
                delivery
            });

            List <DeliveryInfoToGetDto> result = _deliveryService.GetDeliveryInfoToGet(ServicesTestConstant.getUserId());

            _deliveryRepository.Verify(
                place =>
                place.FindAllByAddressee_IdAndIsPackageReceivedFalseAndBill_IsDeliveryPaidTrue(It.IsAny <string>()),
                Times.Once());

            Assert.AreEqual(deliveryInfoToGetDto, result[0]);
            Assert.AreEqual(ServicesTestConstant.getDeliveres().Count, result.Count);
        }
コード例 #3
0
        public void findByEmailIncorrectEmail()
        {
            User user = ServicesTestConstant.getAddreser();

            userRepository.Setup(s => s.FindByEmail(It.IsAny <string>())).Returns((User)null);

            var actualResult =
                Assert.Throws <UsernameNotFoundException>(() => _userService.FindByName(user.UserName));

            Assert.AreEqual(typeof(UsernameNotFoundException), actualResult.GetType());
        }
コード例 #4
0
        public void findByEmailAllCorrect()
        {
            User user = ServicesTestConstant.getAddreser();

            userRepository.Setup(s => s.FindByName(It.IsAny <string>())).Returns(user);

            User result = _userService.FindByName(user.UserName);

            Assert.AreEqual(user, result);
            userRepository.Verify(
                place =>
                place.FindByName(It.IsAny <string>()),
                Times.Once());
        }
コード例 #5
0
        public void payForDeliveryNotEnoughMoney()
        {
            Bill bill = ServicesTestConstant.getBill();

            bill.IsDeliveryPaid = false;
            User adverser = ServicesTestConstant.getAddreser();

            adverser.UserMoneyInCents = 0L;
            _userRepository.Setup(a => a.FindByIdAndUserMoneyInCentsGreaterThanEqual
                                      (ServicesTestConstant.getUserId(), ServicesTestConstant.getBill().CostInCents)
                                  ).Returns((User)null);

            var actualResult =
                Assert.Throws <NotEnoughMoneyException>
                    (() => _billService.PayForDelivery(ServicesTestConstant.getUserId(), ServicesTestConstant.getBillId()));

            Assert.AreEqual(typeof(NotEnoughMoneyException), actualResult.GetType());
        }
コード例 #6
0
        public void replenishAccountBalanceAllCorrect()
        {
            User expected = ServicesTestConstant.getAddreser();
            User setIn    = ServicesTestConstant.getAddreser();

            setIn.UserMoneyInCents    = 0L;
            expected.UserMoneyInCents = 10L;
            long paymentSum = 10L;

            userRepository.Setup(s => s.FindByName(It.IsAny <string>()))
            .Returns(setIn);

            User result = _userService.ReplenishAccountBalance(expected.UserName, paymentSum);

            userRepository.Verify(
                place =>
                place.Save(),
                Times.Once());

            Assert.AreEqual(expected, result);
            Assert.AreEqual(10L, setIn.UserMoneyInCents);
        }