public async Task BarcodeScanningVM_CompleteScanning()
        {
            base.ClearAll();

            //change the order to only have one item with one barcode
            _mobileData.Order.Items.RemoveRange(1, _mobileData.Order.Items.Count - 1);

            var barcodeScanningVM = _fixture.Create <BarcodeScanningViewModel>();
            await barcodeScanningVM.Init(_navID);

            // Mark the only view model as processed
            var barcodeItemViewModel = barcodeScanningVM.BarcodeSections[0].Barcodes[0];

            barcodeScanningVM.MarkBarcodeAsProcessed(barcodeItemViewModel, wasScanned: true);

            //set some other status values on the barcode
            barcodeItemViewModel.DeliveryComments = "Some comments.";
            await barcodeScanningVM.CompleteScanningAsync();

            //check that the properties for the barcode were set correctly on the datachunk
            var dataChunk = _navData.GetDataChunk();

            Assert.Equal(barcodeItemViewModel.BarcodeText, dataChunk.ScannedDelivery.Barcodes[0].BarcodeText);
            Assert.True(dataChunk.ScannedDelivery.Barcodes[0].IsDelivered);
            Assert.True(dataChunk.ScannedDelivery.Barcodes[0].IsScanned);
            Assert.Equal(barcodeItemViewModel.DeliveryComments, dataChunk.ScannedDelivery.Barcodes[0].DeliveryStatusNote);
            Assert.Equal(barcodeItemViewModel.DamageStatus.Code, dataChunk.ScannedDelivery.Barcodes[0].DamageStatusCode);
            Assert.Equal(barcodeItemViewModel.PalletforceDeliveryStatus, dataChunk.ScannedDelivery.Barcodes[0].DeliveryStatusCode);


            //check that the navigation service was called
            _mockNavigationService.Verify(ns => ns.MoveToNextAsync(It.Is <NavData <MobileData> >(x => x == _navData)));
        }
Пример #2
0
        public static IEnumerable <MobileApplicationDataChunkContentActivity> GetAllDataChunks(this NavData <MobileData> navData)
        {
            List <MobileApplicationDataChunkContentActivity> dataChunks = new List <MobileApplicationDataChunkContentActivity>();

            dataChunks.Add(navData.GetDataChunk());

            var additionalInstructions = navData.GetAdditionalInstructions();

            foreach (var additionalInstruction in additionalInstructions)
            {
                dataChunks.Add(navData.GetAdditionalDataChunk(additionalInstruction));
            }

            return(dataChunks);
        }