public CardPaymentControl(Order o)
        {
            InitializeComponent();
            order = o;

            DataContext = new CashDrawerViewModel(order, "Card");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Runs operations for conducting a card payment
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void CardPayment(object sender, RoutedEventArgs e)
        {
            CashDrawerViewModel viewModel = new CashDrawerViewModel(order, "Card");
            string cardResult             = viewModel.CardOperations();

            switch (cardResult)
            {
            case "Approved":
                OrderComponent orderController = this.FindControl <OrderComponent>();
                orderController.DataContext = new Order();
                ReturnToMenu.ReturnToMenuScreen(this, new MenuSelection());
                break;

            case "Declined":
                MessageBox.Show(cardResult);
                break;

            case "Insufficient Funds":
                MessageBox.Show(cardResult);
                break;

            case "Incorrect Pin":
                MessageBox.Show(cardResult);
                break;

            case "Read Error":
                MessageBox.Show(cardResult);
                break;

            default:
                throw new NotImplementedException("Card Operation Not Recognized");
            }
        }
Exemplo n.º 3
0
        public void ShouldGetCorrectTotal()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            Assert.Equal(7.08, vm.Total);
        }
Exemplo n.º 4
0
        public void ShouldBeAbleToSetTwos()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            vm.Twos = 1;
            Assert.Equal(1, vm.Twos);
        }
Exemplo n.º 5
0
        [Fact]//FIXME needs to include multiple scenarios with a theory test
        public void ShouldGetCorrectChangeOwed()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            vm.Tens = 1;
            Assert.Equal(2.92, vm.ChangeOwed);
        }
Exemplo n.º 6
0
        public void ShouldGetCorrectAmountOwed()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            vm.Fives = 1;
            Assert.Equal(2.08, vm.AmountOwed);
        }
Exemplo n.º 7
0
        public void SettingTwosNotifiesTwosProperty()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            Assert.PropertyChanged(vm, "Twos", () =>
            {
                vm.Twos = 1;
            });
        }
Exemplo n.º 8
0
        public void SettingTwentiesNotifiesAmountOwedDisplayProperty()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            Assert.PropertyChanged(vm, "AmountOwedDisplay", () =>
            {
                vm.Twenties = 1;
            });
        }
Exemplo n.º 9
0
        public void ShouldGetCorrectTenuredAmount()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            vm.Ones  = 1;
            vm.Twos  = 0;
            vm.Fives = 1;
            Assert.Equal(6, vm.AmountTenuered);
        }
Exemplo n.º 10
0
        public void SettingTensNotifiesAmountTenuredProperty()
        {
            Order order = new Order();

            order.Add(new BriarheartBurger());
            CashDrawerViewModel vm = new CashDrawerViewModel(order, "Cash");

            Assert.PropertyChanged(vm, "AmountTenured", () =>
            {
                vm.Tens = 1;
            });
        }