public void SetUp()
        {
            _cashPayment = new CashPayment();
            _nets        = Substitute.ForPartsOf <Nets>();
            _nets.When(x => x.TransferAmount(Arg.Any <int>(), Arg.Any <string>())).DoNotCallBase();
            _nets.TransferAmount(Arg.Any <int>(), Arg.Any <string>()).Returns(false);

            _paymentProviders = new List <IPaymentProvider> {
                _cashPayment, _nets
            };

            _fakePaymentDao        = Substitute.For <IPaymentDao>();
            _fakeReceiptController = Substitute.For <IReceiptController>();
            _fakeCashDrawer        = Substitute.For <ICashDrawer>();
            _fakeCashDrawer.CashChange.Returns(1000);

            _uut = new PaymentController(_paymentProviders, _fakeReceiptController, _fakePaymentDao, _fakeCashDrawer);

            _cashTransaction = new Transaction()
            {
                Description = "noget",
                PaymentType = PaymentType.Cash,
                Price       = 100,
            };

            _netTransaction = new Transaction()
            {
                Description = "noget",
                PaymentType = PaymentType.Nets,
                Price       = 100,
            };
        }
 public void Setup()
 {
     _amountToPay       = 100;
     _orderctrl         = Substitute.For <IOrderController>();
     _paymentController = Substitute.For <IPaymentController>();
     _paymentController.ExecuteTransaction(Arg.Any <Transaction>()).Returns(true);
     _paymentControllerFail = Substitute.For <IPaymentController>();
     _paymentControllerFail.ExecuteTransaction(Arg.Any <Transaction>()).Returns(false);
     _productController = Substitute.For <IProductController>();
     _orderctrl.MissingAmount().Returns(_amountToPay);
     _orderControllerMissingNone = Substitute.For <IOrderController>();
     _orderControllerMissingNone.MissingAmount().Returns(0);
     _receiptctrl = Substitute.For <IReceiptController>();
     _trans       = Substitute.For <Transaction>();
     _orderctrl.CurrentOrder.Returns(new SalesOrder());
     _orderControllerMissingNone.CurrentOrder.Returns(new SalesOrder());
     _product     = new Product("Fedt", 100, true);
     _paymentType = PaymentType.Cash;
     _description = "Description";
     _discount    = new Discount
     {
         Description = "Test Discount",
         Id          = 0,
         Percent     = 10
     };
     _uut = new SalesController(_orderctrl, _receiptctrl, _productController, _paymentController);
 }
Exemple #3
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="orderController">An implementation of IOrderController.</param>
 /// <param name="receiptController">An implementation of IReceiptController.</param>
 /// <param name="productController">An implementation of IProductController.</param>
 /// <param name="paymentController">An implentation of IPaymenController.</param>
 public SalesController(IOrderController orderController, IReceiptController receiptController,
                        IProductController productController, IPaymentController paymentController)
 {
     _orderController   = orderController;
     _receiptController = receiptController;
     _productController = productController;
     _paymentController = paymentController;
     _logger            = LogFactory.GetLogger(typeof(SalesController));
     _orderController.PropertyChanged += RepeatNotify;
 }
 /// <summary>
 /// Returns a paymentcontroller with all the nessesary payment providers
 /// </summary>
 /// <param name="receiptController">Receipt controller to be used by this payment controller</param>
 /// <param name="dalFacade">dalfacade to be used by this payment controller</param>
 /// <param name="startChange">The starting amount in the cashregister</param>
 /// <returns>The payment controller</returns>
 public static IPaymentController GetPaymentController(IReceiptController receiptController, IDalFacade dalFacade,
     int startChange)
 {
     var providers = new List<PaymentProvider>
     {
         new CashPayment(),
         new MobilePay(),
         new Nets(),
     };
     return new PaymentController(providers, receiptController, new PaymentDao(dalFacade), new CashDrawer(startChange));
 }
        /// <summary>
        /// Returns a paymentcontroller with all the nessesary payment providers
        /// </summary>
        /// <param name="receiptController">Receipt controller to be used by this payment controller</param>
        /// <param name="dalFacade">dalfacade to be used by this payment controller</param>
        /// <param name="startChange">The starting amount in the cashregister</param>
        /// <returns>The payment controller</returns>
        public static IPaymentController GetPaymentController(IReceiptController receiptController, IDalFacade dalFacade,
                                                              int startChange)
        {
            var providers = new List <PaymentProvider>
            {
                new CashPayment(),
                new MobilePay(),
                new Nets(),
            };

            return(new PaymentController(providers, receiptController, new PaymentDao(dalFacade), new CashDrawer(startChange)));
        }
        public void SetUp()
        {
            _orderLines = new List <OrderLine>();

            _receiptController = Substitute.For <IReceiptController>();
            _productController = Substitute.For <IProductController>();
            _paymentController = Substitute.For <IPaymentController>();
            _orderDao          = Substitute.For <IOrderDao>();
            _orderDao.When(x => x.AddOrderLine(Arg.Any <OrderLine>())).Do(x => _orderLines.Add(x.Arg <OrderLine>()));

            _orderController = new OrderController(_orderDao);
            _salesController = new SalesController(_orderController, _receiptController, _productController, _paymentController);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="paymentProviderList">List of providers to be used with the payment controller</param>
 /// <param name="receiptController">The receipt controller to be used by the payment controller</param>
 /// <param name="paymentDao">The dao to be used by the payment controller</param>
 /// <param name="cashDrawer">The cashdrawer to be used by the payment controller</param>
 public PaymentController(IEnumerable <IPaymentProvider> paymentProviderList,
                          IReceiptController receiptController, IPaymentDao paymentDao, ICashDrawer cashDrawer)
 {
     _receiptController = receiptController;
     _paymentDao        = paymentDao;
     CashDrawer         = cashDrawer;
     _paymentProviders  = new List <IPaymentProvider>();
     foreach (var paymentProvider in paymentProviderList)
     {
         _paymentProviders.Add(paymentProvider);
     }
     _paymentProviders.ForEach(e => e.Init());
 }
        public void SetUp()
        {
            _receiptController = Substitute.For<IReceiptController>();
            _cashDrawer = Substitute.For<ICashDrawer>();
            _productDao = Substitute.For<IProductDao>();
            _paymentDao = Substitute.For<IPaymentDao>();
            _orderDao = Substitute.For<IOrderDao>();

            var paymentProviders = new List<IPaymentProvider> {new CashPayment()};
            _productController = new ProductController(_productDao);
            _paymentController = new PaymentController(paymentProviders, _receiptController, _paymentDao, _cashDrawer);
            _orderController = new OrderController(_orderDao);
            _salesController = new SalesController(_orderController, _receiptController, _productController,
                _paymentController);
        }
        public void SetUp()
        {
            _orderLines = new List<OrderLine>();

            _receiptController = Substitute.For<IReceiptController>();
            _productController = Substitute.For<IProductController>();
            _cashDrawer = Substitute.For<ICashDrawer>();
            _paymentDao = Substitute.For<IPaymentDao>();
            _orderDao = Substitute.For<IOrderDao>();
            _orderDao.When(x => x.AddOrderLine(Arg.Any<OrderLine>())).Do(x => _orderLines.Add(x.Arg<OrderLine>()));

            var paymentProviders = new List<IPaymentProvider>() { new CashPayment() };
            _paymentController = new PaymentController(paymentProviders, _receiptController, _paymentDao, _cashDrawer);
            _orderController = new OrderController(_orderDao);
            _salesController = new SalesController(_orderController, _receiptController, _productController, _paymentController);
        }
Exemple #10
0
        public void SetUp()
        {
            _receiptController = Substitute.For <IReceiptController>();
            _cashDrawer        = Substitute.For <ICashDrawer>();
            _productDao        = Substitute.For <IProductDao>();
            _paymentDao        = Substitute.For <IPaymentDao>();
            _orderDao          = Substitute.For <IOrderDao>();

            var paymentProviders = new List <IPaymentProvider> {
                new CashPayment()
            };

            _productController = new ProductController(_productDao);
            _paymentController = new PaymentController(paymentProviders, _receiptController, _paymentDao, _cashDrawer);
            _orderController   = new OrderController(_orderDao);
            _salesController   = new SalesController(_orderController, _receiptController, _productController,
                                                     _paymentController);
        }
        public void SetUp()
        {
            _orderLines = new List <OrderLine>();

            _receiptController = Substitute.For <IReceiptController>();
            _productController = Substitute.For <IProductController>();
            _cashDrawer        = Substitute.For <ICashDrawer>();
            _paymentDao        = Substitute.For <IPaymentDao>();
            _orderDao          = Substitute.For <IOrderDao>();
            _orderDao.When(x => x.AddOrderLine(Arg.Any <OrderLine>())).Do(x => _orderLines.Add(x.Arg <OrderLine>()));

            var paymentProviders = new List <IPaymentProvider>()
            {
                new CashPayment()
            };

            _paymentController = new PaymentController(paymentProviders, _receiptController, _paymentDao, _cashDrawer);
            _orderController   = new OrderController(_orderDao);
            _salesController   = new SalesController(_orderController, _receiptController, _productController, _paymentController);
        }
        public void SetUp()
        {
            _raisedEvent = 0;
            _discount    = new Discount();
            _product     = new Product("Test", 100, true);

            _printer    = Substitute.For <IPrinter>();
            _cashDrawer = Substitute.For <ICashDrawer>();
            _dalFacade  = Substitute.For <IDalFacade>();

            _productDao        = new ProductDao(_dalFacade);
            _paymentDao        = new PaymentDao(_dalFacade);
            _orderDao          = new OrderDao(_dalFacade);
            _receiptController = new ReceiptController(_printer);
            _productController = new ProductController(_productDao);
            var paymentProviders = new List <IPaymentProvider> {
                new CashPayment()
            };

            _paymentController = new PaymentController(paymentProviders, _receiptController, _paymentDao, _cashDrawer);
            _orderController   = new OrderController(_orderDao);
            _salesController   = new SalesController(_orderController, _receiptController, _productController,
                                                     _paymentController);
        }
Exemple #13
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="orderController">An implementation of IOrderController.</param>
 /// <param name="receiptController">An implementation of IReceiptController.</param>
 /// <param name="productController">An implementation of IProductController.</param>
 /// <param name="paymentController">An implentation of IPaymenController.</param>
 public SalesController(IOrderController orderController, IReceiptController receiptController,
     IProductController productController, IPaymentController paymentController)
 {
     _orderController = orderController;
     _receiptController = receiptController;
     _productController = productController;
     _paymentController = paymentController;
     _logger = LogFactory.GetLogger(typeof (SalesController));
     _orderController.PropertyChanged += RepeatNotify;
 }
Exemple #14
0
 public void SetUp()
 {
     _printer = Substitute.For <IPrinter>();
     _uut     = new ReceiptController(_printer);
 }
 public void SetUp()
 {
     _printer = Substitute.For<IPrinter>();
     _uut = new ReceiptController(_printer);
 }
Exemple #16
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="paymentProviderList">List of providers to be used with the payment controller</param>
 /// <param name="receiptController">The receipt controller to be used by the payment controller</param>
 /// <param name="paymentDao">The dao to be used by the payment controller</param>
 /// <param name="cashDrawer">The cashdrawer to be used by the payment controller</param>
 public PaymentController(IEnumerable<IPaymentProvider> paymentProviderList,
     IReceiptController receiptController, IPaymentDao paymentDao, ICashDrawer cashDrawer)
 {
     _receiptController = receiptController;
     _paymentDao = paymentDao;
     CashDrawer = cashDrawer;
     _paymentProviders = new List<IPaymentProvider>();
     foreach (var paymentProvider in paymentProviderList)
     {
         _paymentProviders.Add(paymentProvider);
     }
     _paymentProviders.ForEach(e => e.Init());
 }
        public void SetUp()
        {
            _raisedEvent = 0;
            _discount = new Discount();
            _product = new Product("Test", 100, true);

            _printer = Substitute.For<IPrinter>();
            _cashDrawer = Substitute.For<ICashDrawer>();
            _dalFacade = Substitute.For<IDalFacade>();

            _productDao = new ProductDao(_dalFacade);
            _paymentDao = new PaymentDao(_dalFacade);
            _orderDao = new OrderDao(_dalFacade);
            _receiptController = new ReceiptController(_printer);
            _productController = new ProductController(_productDao);
            var paymentProviders = new List<IPaymentProvider> { new CashPayment() };
            _paymentController = new PaymentController(paymentProviders, _receiptController, _paymentDao, _cashDrawer);
            _orderController = new OrderController(_orderDao);
            _salesController = new SalesController(_orderController, _receiptController, _productController,
                _paymentController);
        }
        public void SetUp()
        {
            _cashPayment = new CashPayment();
            _nets = Substitute.ForPartsOf<Nets>();
            _nets.When(x => x.TransferAmount(Arg.Any<int>(), Arg.Any<string>())).DoNotCallBase();
            _nets.TransferAmount(Arg.Any<int>(), Arg.Any<string>()).Returns(false);

            _paymentProviders = new List<IPaymentProvider> {_cashPayment, _nets};

            _fakePaymentDao = Substitute.For<IPaymentDao>();
            _fakeReceiptController = Substitute.For<IReceiptController>();
            _fakeCashDrawer = Substitute.For<ICashDrawer>();
            _fakeCashDrawer.CashChange.Returns(1000);

            _uut = new PaymentController(_paymentProviders, _fakeReceiptController, _fakePaymentDao, _fakeCashDrawer);

            _cashTransaction = new Transaction()
            {

                Description = "noget",
                PaymentType = PaymentType.Cash,
                Price = 100,
            };

            _netTransaction = new Transaction()
            {
                Description = "noget",
                PaymentType = PaymentType.Nets,
                Price = 100,
            };
        }
        public void SetUp()
        {
            _orderLines = new List<OrderLine>();

            _receiptController = Substitute.For<IReceiptController>();
            _productController = Substitute.For<IProductController>();
            _paymentController = Substitute.For<IPaymentController>();
            _orderDao = Substitute.For<IOrderDao>();
            _orderDao.When(x => x.AddOrderLine(Arg.Any<OrderLine>())).Do(x => _orderLines.Add(x.Arg<OrderLine>()));

            _orderController = new OrderController(_orderDao);
            _salesController = new SalesController(_orderController, _receiptController, _productController, _paymentController);
        }