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))); }
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); }