Esempio n. 1
0
        // Tests that when a processed barcode item is selected it shows the barcode status modal
        public async Task BarcodeItemVM_Select_MultiSelect_Processed()
        {
            base.ClearAll();

            var navData = new NavData <MobileData>()
            {
                Data = _mobileData
            };
            var navID = Guid.NewGuid();

            _mockNavigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData);

            await _barcodeScanningViewModel.Init(navID);

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            barcodeItemVM.IsDelivered = true;

            // on the parent barcode model, mark snother of the other barcode items as processed (and selected)
            var selectedBarcodeItem = _barcodeScanningViewModel.BarcodeSections[0].Barcodes[0];

            _barcodeScanningViewModel.MarkBarcodeAsProcessed(selectedBarcodeItem);
            selectedBarcodeItem.IsSelected = true;

            await barcodeItemVM.SelectBarcodeAsync();

            // Check the selected barcode was passed into the modal as the part of the nav data
            _mockNavigationService.Verify(ns => ns.ShowModalViewModel <BarcodeStatusViewModel, bool>(
                                              It.Is <NavData <BarcodeItemViewModel> >(x => x.Data == barcodeItemVM && (x.OtherData["SelectedBarcodes"] as List <BarcodeItemViewModel>)[0] == selectedBarcodeItem),
                                              It.IsAny <Action <bool> >()));
        }
        public BarcodeItemPage(INavigation Navigation = null, BarcodeModel barcode = null)
        {
            InitializeComponent();

            var vm = new BarcodeItemViewModel(barcode);

            vm.Navigation = Navigation;

            BindingContext = vm;
        }
Esempio n. 3
0
        public void BarcodeItemVM_Construction()
        {
            base.ClearAll();

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            // check the damage statuses have been set correctly
            Assert.Equal(_damageStatuses, barcodeItemVM.DamageStatuses);
            Assert.Equal(_damageStatuses[0], barcodeItemVM.DamageStatus);
        }
Esempio n. 4
0
            public override void MarkBarcodeAsProcessed(BarcodeItemViewModel barcodeItem, bool wasScanned = true)
            {
                MarkAsProcessedBarcodeItem = barcodeItem;
                MarkAsProcessedWasScanned  = wasScanned;

                if (_unprocessedBarcodes.Contains(barcodeItem))
                {
                    base.MarkBarcodeAsProcessed(barcodeItem);
                }
            }
Esempio n. 5
0
        public void BarcodeItemVM_PalletForceDeliveryStatus(bool?isDelivered, string damageStatusCode, string expectedPalletForceStatus)
        {
            base.ClearAll();

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            barcodeItemVM.IsDelivered  = isDelivered;
            barcodeItemVM.DamageStatus = barcodeItemVM.DamageStatuses.Single(ds => ds.Code == damageStatusCode);

            Assert.Equal(expectedPalletForceStatus, barcodeItemVM.PalletforceDeliveryStatus);
        }
Esempio n. 6
0
        public void BarcodeItemVM_ValidComments(bool?isDelivered, string damageStatusCode, string deliveryComments, bool expectedValidComments)
        {
            base.ClearAll();

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            barcodeItemVM.IsDelivered      = isDelivered;
            barcodeItemVM.DamageStatus     = barcodeItemVM.DamageStatuses.Single(ds => ds.Code == damageStatusCode);
            barcodeItemVM.DeliveryComments = deliveryComments;

            Assert.Equal(expectedValidComments, barcodeItemVM.ValidComments);
        }
Esempio n. 7
0
        public void BarcodeItemVM_Clone()
        {
            base.ClearAll();

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            var clone = barcodeItemVM.Clone();

            // check the properties we care about have been cloned
            Assert.Equal(_damageStatuses, barcodeItemVM.DamageStatuses);
            Assert.Equal(barcodeItemVM.DamageStatus, barcodeItemVM.DamageStatus);
            Assert.Equal(barcodeItemVM.DeliveryComments, barcodeItemVM.DeliveryComments);
            Assert.Equal(barcodeItemVM.IsDelivered, barcodeItemVM.IsDelivered);
        }
        private async Task SetupBarcodeScanningViewModel()
        {
            var navData = new NavData <MobileData>()
            {
                Data = _mobileData
            };
            var navID = Guid.NewGuid();

            _mockNavigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData);

            _barcodeScanningViewModel = _fixture.Create <BarcodeScanningViewModel>();
            await _barcodeScanningViewModel.Init(navID);

            // mark all the barcode items as processed
            _barcodeScanningViewModel.MarkBarcodeAsProcessed(_barcodeScanningViewModel.BarcodeSections[0].Barcodes[0]);
            _barcodeScanningViewModel.MarkBarcodeAsProcessed(_barcodeScanningViewModel.BarcodeSections[0].Barcodes[0]);
            _barcodeScanningViewModel.MarkBarcodeAsProcessed(_barcodeScanningViewModel.BarcodeSections[0].Barcodes[0]);

            _barcodeItemViewModel1 = _barcodeScanningViewModel.BarcodeSections[1].Barcodes[0];
            _barcodeItemViewModel2 = _barcodeScanningViewModel.BarcodeSections[1].Barcodes[1];
            _barcodeItemViewModel3 = _barcodeScanningViewModel.BarcodeSections[1].Barcodes[2];
        }
Esempio n. 9
0
        // Tests that when an unprocessed barcode item is selected it shows the confirm dialog then calls "MarkAsProcessed" on the parent barcode scanning view model
        public async Task BarcodeItemVM_Select_Unprocessed()
        {
            base.ClearAll();

            var navData = new NavData <MobileData>()
            {
                Data = _mobileData
            };
            var navID = Guid.NewGuid();

            _mockNavigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData);

            await _barcodeScanningViewModel.Init(navID);

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            _mockUserInteraction.ConfirmAsyncReturnsTrueIfTitleStartsWith("Mark Barcode as");

            await barcodeItemVM.SelectBarcodeAsync();

            Assert.Equal(barcodeItemVM, _barcodeScanningViewModel.MarkAsProcessedBarcodeItem);
            Assert.False(_barcodeScanningViewModel.MarkAsProcessedWasScanned);
        }
Esempio n. 10
0
        // Tests that when a processed barcode item is selected it shows the barcode status modal
        public async Task BarcodeItemVM_Select_SingleSelect_Processed()
        {
            base.ClearAll();

            var navData = new NavData <MobileData>()
            {
                Data = _mobileData
            };
            var navID = Guid.NewGuid();

            _mockNavigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData);

            await _barcodeScanningViewModel.Init(navID);

            var barcodeItemVM = new BarcodeItemViewModel(_mockNavigationService.Object, _damageStatuses, _barcodeScanningViewModel);

            barcodeItemVM.IsDelivered = true;

            await barcodeItemVM.SelectBarcodeAsync();

            _mockNavigationService.Verify(ns => ns.ShowModalViewModel <BarcodeStatusViewModel, bool>(
                                              It.Is <NavData <BarcodeItemViewModel> >(x => x.Data == barcodeItemVM),
                                              It.IsAny <Action <bool> >()));
        }