public async Task SafetyCheckFaultVM_BackButton_Cancel() { base.ClearAll(); var safetyCheckFaultVM = _fixture.Build <SafetyCheckFaultViewModel>().Without(p => p.CommentText).Create <SafetyCheckFaultViewModel>(); NavData <SafetyCheckFault> navItem = new NavData <SafetyCheckFault>() { Data = _trailerSafetyCheckFault }; navItem.OtherData["FaultTypeText"] = "Test Text"; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <SafetyCheckFault>(navID)).Returns(navItem); safetyCheckFaultVM.Init(navID); _mockUserInteraction.Setup(ui => ui.ConfirmAsync(It.IsAny <String>(), It.IsAny <String>(), It.IsAny <String>(), It.IsAny <String>())).ReturnsAsync(false); await safetyCheckFaultVM.OnBackButtonPressedAsync(); // since user pressed "ok", the back button stack proceeds and (as a modal view model) the view model should have // published a "false" result _mockMessenger.Verify(mm => mm.Publish(It.IsAny <ModalNavigationResultMessage <bool> >()), Times.Never); }
// Checks that when the user cancels out of an image deletion nothing is actually deleted public async Task SafetyCheckFaultImageVM_Delete_Cancel() { base.ClearAll(); var safetyCheckFaultVM = _fixture.Build <SafetyCheckFaultViewModel>().Without(p => p.CommentText).Create <SafetyCheckFaultViewModel>(); NavData <SafetyCheckFault> navItem = new NavData <SafetyCheckFault>() { Data = _vehicleSafetyCheckFault }; navItem.OtherData["FaultTypeText"] = "Test Text"; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <SafetyCheckFault>(navID)).Returns(navItem); safetyCheckFaultVM.Init(navID); int previousImageCount = safetyCheckFaultVM.Images.Count; // dialog returns false _mockUserInteraction.ConfirmReturnsFalse(); // attempt to delete the last image await safetyCheckFaultVM.Images[previousImageCount - 1].DeleteAsync(); // nothing should have been deleted since we cancelled out of the deletion Assert.Equal(previousImageCount, safetyCheckFaultVM.Images.Count); Assert.Equal(previousImageCount, _vehicleSafetyCheckFault.Images.Count); }
public void SafetyCheckFaultVM_CommentTextChanged() { base.ClearAll(); var safetyCheckFaultVM = _fixture.Build <SafetyCheckFaultViewModel>().Without(p => p.CommentText).Create <SafetyCheckFaultViewModel>(); NavData <SafetyCheckFault> navItem = new NavData <SafetyCheckFault>() { Data = _vehicleSafetyCheckFault }; navItem.OtherData["FaultTypeText"] = "Test Text"; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <SafetyCheckFault>(navID)).Returns(navItem); safetyCheckFaultVM.Init(navID); // Change the comment text safetyCheckFaultVM.CommentText = "Some new text"; // Invoke the done command safetyCheckFaultVM.DoneCommand.Execute(null); Assert.Equal(safetyCheckFaultVM.CommentText, _vehicleSafetyCheckFault.Comment); }
public void SafetyCheckFaultVM_Init_ImagesPopulated() { base.ClearAll(); var safetyCheckFaultVM = _fixture.Build <SafetyCheckFaultViewModel>().Without(p => p.CommentText).Create <SafetyCheckFaultViewModel>(); NavData <SafetyCheckFault> navItem = new NavData <SafetyCheckFault>() { Data = _vehicleSafetyCheckFault }; navItem.OtherData["FaultTypeText"] = "Test Text"; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <SafetyCheckFault>(navID)).Returns(navItem); safetyCheckFaultVM.Init(navID); Assert.Equal(_vehicleSafetyCheckFault.Images.ToList().Count, safetyCheckFaultVM.Images.Count); for (int i = 0; i < safetyCheckFaultVM.Images.Count; i++) { Assert.Same(_vehicleSafetyCheckFault.Images.ToList()[i], safetyCheckFaultVM.Images[i].FaultImage); } }
// 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> >())); }
// Checks that when the Display command is executed on an image the image is displayed in a popup image public void SafetyCheckFaultImageVM_DisplayImage() { base.ClearAll(); var customUI = new Mock <ICustomUserInteraction>(); Ioc.RegisterSingleton <ICustomUserInteraction>(customUI.Object); var safetyCheckFaultVM = _fixture.Build <SafetyCheckFaultViewModel>().Without(p => p.CommentText).Create <SafetyCheckFaultViewModel>(); NavData <SafetyCheckFault> navItem = new NavData <SafetyCheckFault>() { Data = _vehicleSafetyCheckFault }; navItem.OtherData["FaultTypeText"] = "Test Text"; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <SafetyCheckFault>(navID)).Returns(navItem); safetyCheckFaultVM.Init(navID); safetyCheckFaultVM.Images[0].DisplayCommand.Execute(null); customUI.Verify(cui => cui.PopUpImage(It.Is <byte[]>(ba => ba[0] == safetyCheckFaultVM.Images[0].Bytes[0]), It.Is <string>(s => String.IsNullOrEmpty(s)), It.IsAny <Action>(), It.IsAny <string>(), It.Is <string>(s => s == "Close"))); }
// checks that when initialised with multiple the pallet id of the view model is correct public async Task BarcodeStatusVM_MultipleBarcode_PalletID() { base.ClearAll(); await this.SetupBarcodeScanningViewModel(); var barcodeStatusVM = _fixture.Create <BarcodeStatusViewModel>(); // add another two "selected" barcodes var navData = new NavData <BarcodeItemViewModel>() { Data = _barcodeItemViewModel1 }; navData.OtherData["SelectedBarcodes"] = new List <BarcodeItemViewModel>() { _barcodeItemViewModel2, _barcodeItemViewModel3 }; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <BarcodeItemViewModel>(navID)).Returns(navData); barcodeStatusVM.Init(navID); Assert.Equal("Pallet IDs", barcodeStatusVM.PalletIDLabel); string expectedString = _barcodeItemViewModel1.BarcodeText + "\n" + _barcodeItemViewModel2.BarcodeText + "\n" + _barcodeItemViewModel3.BarcodeText; Assert.Equal(expectedString, barcodeStatusVM.PalletIDText); }
public async Task InstructionSignatureVM_Complete_Signature() { base.ClearAll(); var instructionSignatureVM = _fixture.Create <InstructionSignatureViewModel>(); var navData = new NavData <MobileData>() { Data = _mobileData }; var dataChunk = _fixture.Create <MobileApplicationDataChunkContentActivity>(); navData.OtherData["DataChunk"] = dataChunk; var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); instructionSignatureVM.Init(navID); await instructionSignatureVM.InstructionDoneAsync(); _navigationService.Verify(ns => ns.MoveToNextAsync(It.IsAny <NavData <MobileData> >()), Times.Once); Assert.Same(instructionSignatureVM.CustomerSignatureEncodedImage, dataChunk.Signature.EncodedImage); Assert.Same(instructionSignatureVM.CustomerName, dataChunk.Signature.Title); }
public async Task InstructionTrailerListVM_Initialization() { base.ClearAll(); var trailerRepository = new Mock <ITrailerRepository>(); var trailers = _fixture.CreateMany <Core.Models.Trailer>(); trailerRepository.Setup(vr => vr.GetAllAsync()).ReturnsAsync(trailers); _mockRepositories.Setup(r => r.TrailerRepository).Returns(trailerRepository.Object); var mobileData = _fixture.SetUpInstruction(Core.Enums.InstructionType.Collect, false, true, false, false, false, false, true, null); var navData = new NavData <MobileData>() { Data = mobileData }; //set the trailer in the current order to have the same registration as first trailer mobileData.Order.Additional.Trailer.TrailerId = trailers.First().Registration; var navID = Guid.NewGuid(); _navigationServiceMock.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); var vm = _fixture.Build <InstructionTrailerViewModel>().With(itvm => itvm.TrailerSearchText, string.Empty).Create(); await vm.Init(navID); Assert.Equal(vm.DefaultTrailerReg, mobileData.Order.Additional.Trailer.TrailerId); // first item in list should be the "default" i.e. it is the one specified in the order Assert.True(vm.Trailers.First().IsDefault); Assert.True(vm.Trailers.First().TrailerText.EndsWith("(as order)")); }
public void GetNav(string ID) { List <NavData> list = Serialize.DeSerializeNow <List <NavData> >(GTKey.File_Nav); NavData nav = Utils.TreeToList(list, "ChildrenList").Where(c => c.ID == ID).FirstOrDefault(); Response.Write(Utils.ObjectToJson(nav)); }
public async Task InstructionAddDeliveriesVM_BuildDeliveriesList_Deliveries() { base.ClearAll(); _fixture.Customize <Order>(md => md.With(x => x.Type, Core.Enums.InstructionType.Deliver)); _fixture.Customize <ItemAdditional>(md => md.With(x => x.BarcodeScanRequiredForDelivery, true)); var nonCompletedDeliveryInstructions = _fixture.CreateMany <MobileData>(); _mockMobileDataRepo.Setup(mdr => mdr.GetNonCompletedInstructionsAsync(It.IsAny <Guid>())).ReturnsAsync(nonCompletedDeliveryInstructions); var addDeliveriesVM = _fixture.Create <InstructionAddDeliveriesViewModel>(); NavData <MobileData> navData = new NavData <MobileData>() { Data = nonCompletedDeliveryInstructions.First() }; var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); await addDeliveriesVM.Init(navID); // should be one less than the total delivery instructions (the vm's own mobile data should not be counted) // i.e. you can't a delivery to itself Assert.Equal(nonCompletedDeliveryInstructions.Count() - 1, addDeliveriesVM.DeliveryInstructions.Count); foreach (var instruction in addDeliveriesVM.DeliveryInstructions) { Assert.NotEqual(navData.Data, instruction.MobileData); Assert.Contains(instruction.MobileData, nonCompletedDeliveryInstructions); Assert.False(instruction.IsSelected); } }
//Checks that the viewmodel can process changes to the barcode input property (i.e. when a barcode is scanned) public async Task BarcodeScanningVM_BarcodeInput() { base.ClearAll(); var navData = new NavData <MobileData>() { Data = _mobileData }; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); var barcodeScanningVM = _fixture.Create <BarcodeScanningViewModel>(); await barcodeScanningVM.Init(navID); // set the barcode input to be the same as the input barcode of the first view model var barcodeToInput = barcodeScanningVM.BarcodeSections[0].Barcodes[0]; barcodeScanningVM.BarcodeInput = barcodeToInput.BarcodeText; // barcode should now be in the "processed" list Assert.True(barcodeScanningVM.BarcodeSections[1].Contains(barcodeToInput)); // barcode should no longer be in the "unprocessed" list Assert.False(barcodeScanningVM.BarcodeSections[0].Contains(barcodeToInput)); // barcode should be marked as scanned and delivered Assert.True(barcodeToInput.IsScanned); Assert.True(barcodeToInput.IsDelivered); }
protected override void AdditionalSetup() { _fixture = new Fixture().Customize(new AutoMoqCustomization()); _fixture.OmitProperty("EffectiveDateString"); _mobileData = _fixture.Create <MobileData>(); _mockMobileDataRepo = _fixture.InjectNewMock <IMobileDataRepository>(); _mockMobileDataRepo.Setup(mdr => mdr.GetByIDAsync(It.Is <Guid>(i => i == _mobileData.ID))).ReturnsAsync(_mobileData); _fixture.Inject <IRepositories>(_fixture.Create <Repositories>()); _navigationService = _fixture.InjectNewMock <INavigationService>(); _mockUserInteraction = Ioc.RegisterNewMock <ICustomUserInteraction>(); _mockMessenger = Ioc.RegisterNewMock <IMvxMessenger>(); _mockMessenger.Setup(m => m.Unsubscribe <GatewayInstructionNotificationMessage>(It.IsAny <MvxSubscriptionToken>())); _mockMessenger.Setup(m => m.Subscribe(It.IsAny <Action <GatewayInstructionNotificationMessage> >(), It.IsAny <MvxReference>(), It.IsAny <string>())).Returns(_fixture.Create <MvxSubscriptionToken>()); Ioc.RegisterSingleton <INavigationService>(_navigationService.Object); _navData = new NavData <MobileData>() { Data = _mobileData }; _navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(_navID)).Returns(_navData); }
// checks that when "done" is pressed changes made are set back on the original barcode public async Task BarcodeStatusVM_Done() { base.ClearAll(); await this.SetupBarcodeScanningViewModel(); var barcodeStatusVM = _fixture.Create <BarcodeStatusViewModel>(); _barcodeItemViewModel1.IsDelivered = true; var navData = new NavData <BarcodeItemViewModel>() { Data = _barcodeItemViewModel1 }; var navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <BarcodeItemViewModel>(navID)).Returns(navData); barcodeStatusVM.Init(navID); // change some properties barcodeStatusVM.Barcode.DeliveryComments = "Changed comments"; barcodeStatusVM.Barcode.IsDelivered = !barcodeStatusVM.Barcode.IsDelivered; barcodeStatusVM.DoneCommand.Execute(null); // original barcode should have changed Assert.Equal(_barcodeItemViewModel1.IsDelivered, barcodeStatusVM.Barcode.IsDelivered); Assert.Equal(_barcodeItemViewModel1.DeliveryComments, barcodeStatusVM.Barcode.DeliveryComments); }
protected override void AdditionalSetup() { _fixture = new Fixture().Customize(new AutoMoqCustomization()); _mobileData = _fixture.Create <MobileData>(); _mobileData.GroupTitle = "Run1010"; _mockMobileDataRepo = _fixture.InjectNewMock <IMobileDataRepository>(); _mockMobileDataRepo.Setup(mdr => mdr.GetByIDAsync(It.Is <Guid>(i => i == _mobileData.ID))).ReturnsAsync(_mobileData); _mockRepositories = _fixture.InjectNewMock <IRepositories>(); _mockRepositories.Setup(r => r.MobileDataRepository).Returns(_mockMobileDataRepo.Object); Ioc.RegisterSingleton <IRepositories>(_mockRepositories.Object); _mockNavigationService = _fixture.InjectNewMock <INavigationService>(); _mockUserInteraction = Ioc.RegisterNewMock <ICustomUserInteraction>(); _mockMessenger = Ioc.RegisterNewMock <IMvxMessenger>(); _mockMessenger.Setup(m => m.Unsubscribe <GatewayInstructionNotificationMessage>(It.IsAny <MvxSubscriptionToken>())); _mockMessenger.Setup(m => m.Subscribe(It.IsAny <Action <GatewayInstructionNotificationMessage> >(), It.IsAny <MvxReference>(), It.IsAny <string>())).Returns(_fixture.Create <MvxSubscriptionToken>()); _mockInfoService = _fixture.InjectNewMock <IInfoService>(); _mockInfoService.Setup(s => s.CurrentDriverID).ReturnsUsingFixture(_fixture); _mockInfoService.Setup(s => s.CurrentVehicleID).ReturnsUsingFixture(_fixture); Ioc.RegisterSingleton <INavigationService>(_mockNavigationService.Object); _navData = new NavData <MobileData>() { Data = _mobileData }; _navID = Guid.NewGuid(); _mockNavigationService.Setup(ns => ns.GetNavData <MobileData>(_navID)).Returns(_navData); }
public static DeliveryOptions GetWorseCaseDeliveryOptions(this NavData <MobileData> navData) { bool customerNameRequiredForDelivery = false; bool customerSignatureRequiredForDelivery = false; bool barcodeScanRequiredForDelivery = false; bool bypassCommentsScreen = true; bool bypassCleanClausedScreen = true; List <MobileData> instructions = new List <MobileData>() { navData.Data }; var additionalInstructions = navData.GetAdditionalInstructions(); instructions.AddRange(additionalInstructions); foreach (var instruction in instructions) { customerNameRequiredForDelivery = customerNameRequiredForDelivery || instruction.Order.Additional.CustomerNameRequiredForDelivery; customerSignatureRequiredForDelivery = customerSignatureRequiredForDelivery || instruction.Order.Additional.CustomerSignatureRequiredForDelivery; barcodeScanRequiredForDelivery = barcodeScanRequiredForDelivery || instruction.Order.Items.Any(i => i.Additional.BarcodeScanRequiredForDelivery); bypassCleanClausedScreen = bypassCleanClausedScreen && !instruction.Order.Items.Any(i => !i.Additional.BypassCleanClausedScreen); bypassCommentsScreen = bypassCommentsScreen && !instruction.Order.Items.Any(i => !i.Additional.BypassCommentsScreen); } return(new DeliveryOptions(customerNameRequiredForDelivery, customerSignatureRequiredForDelivery, barcodeScanRequiredForDelivery, bypassCommentsScreen, bypassCleanClausedScreen)); }
public async Task InstructionTrailerListVM_CheckInstructionNotification_Update_Confirm() { base.ClearAll(); var mobileData = _fixture.SetUpInstruction(Core.Enums.InstructionType.Collect, false, true, false, false, false, false, true, null); var mockMobileDataRepo = _fixture.InjectNewMock <IMobileDataRepository>(); mockMobileDataRepo.Setup(mdr => mdr.GetByIDAsync(It.Is <Guid>(i => i == mobileData.ID))).ReturnsAsync(mobileData); _mockRepositories.Setup(r => r.MobileDataRepository).Returns(mockMobileDataRepo.Object); // set the trailer the user has selected to be the same as current trailer and the one specified on the order var navData = new NavData <MobileData>() { Data = mobileData }; var navID = Guid.NewGuid(); _navigationServiceMock.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); var vm = _fixture.Create <InstructionTrailerViewModel>(); vm.IsVisible = true; await vm.Init(navID); await vm.CheckInstructionNotificationAsync(new GatewayInstructionNotificationMessage(this, mobileData.ID, GatewayInstructionNotificationMessage.NotificationCommand.Update)); _mockUserInteraction.Verify(cui => cui.AlertAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); mockMobileDataRepo.Verify(mdr => mdr.GetByIDAsync(It.Is <Guid>(gui => gui.ToString() == mobileData.ID.ToString())), Times.Exactly(1)); }
/// <summary> /// 删除左侧导航栏选项 /// </summary> /// <param name="list"></param> /// <param name="temp"></param> /// <returns></returns> public bool EditNav(List <NavData> list, string ID, NavData nav = null) { if (list == null) { return(false); } NavData temp = list.Where(c => c.ID == ID).FirstOrDefault(); if (!list.Remove(temp)) { foreach (var item in list) { if (EditNav(item.ChildrenList, ID, nav)) { break; } } } else { if (nav != null) { list.Add(nav); } return(true); } return(false); }
public async Task InstructionAddDeliveriesVM_BuildDeliveriesList_IsSelectedPopulated() { base.ClearAll(); _fixture.Customize <Order>(md => md.With(x => x.Type, Core.Enums.InstructionType.Deliver)); _fixture.Customize <ItemAdditional>(md => md.With(x => x.BarcodeScanRequiredForDelivery, true)); var nonCompletedDeliveryInstructions = _fixture.CreateMany <MobileData>(); _mockMobileDataRepo.Setup(mdr => mdr.GetNonCompletedInstructionsAsync(It.IsAny <Guid>())).ReturnsAsync(nonCompletedDeliveryInstructions); var addDeliveriesVM = _fixture.Create <InstructionAddDeliveriesViewModel>(); NavData <MobileData> navData = new NavData <MobileData>() { Data = nonCompletedDeliveryInstructions.First() }; // set the instruction to already have one "additional instruction" var additionalInstruction = nonCompletedDeliveryInstructions.Last(); navData.GetAdditionalInstructions().Add(additionalInstruction); var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); await addDeliveriesVM.Init(navID); // the delivery that lives is already added as an additional delivery should be selected Assert.True(addDeliveriesVM.DeliveryInstructions.Single(x => x.MobileData == additionalInstruction).IsSelected); }
public async Task InstructionAddDeliveriesVM_BuildDeliveriesList_Deliveries_DifferentBarcodeScanningOptions() { base.ClearAll(); _fixture.Customize <Order>(md => md.With(x => x.Type, Core.Enums.InstructionType.Deliver)); _fixture.Customize <ItemAdditional>(md => md.With(x => x.BarcodeScanRequiredForDelivery, true)); var nonCompletedDeliveryInstructions = _fixture.CreateMany <MobileData>(); _mockMobileDataRepo.Setup(mdr => mdr.GetNonCompletedInstructionsAsync(It.IsAny <Guid>())).ReturnsAsync(nonCompletedDeliveryInstructions); var addDeliveriesVM = _fixture.Create <InstructionAddDeliveriesViewModel>(); NavData <MobileData> navData = new NavData <MobileData>() { Data = nonCompletedDeliveryInstructions.First() }; //set vm's own mobile data to not use barcode scanning navData.Data.Order.Items.FirstOrDefault().Additional.BarcodeScanRequiredForDelivery = false; var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); await addDeliveriesVM.Init(navID); // should see no matching delivery instructions Assert.Equal(0, addDeliveriesVM.DeliveryInstructions.Count); }
public async Task InstructionTrailerListVM_CheckInstructionNotification_Delete() { base.ClearAll(); var mobileData = _fixture.SetUpInstruction(Core.Enums.InstructionType.Collect, false, true, false, false, false, false, true, null); // set the trailer the user has selected to be the same as current trailer and the one specified on the order var navData = new NavData <MobileData>() { Data = mobileData }; var navID = Guid.NewGuid(); _navigationServiceMock.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); var vm = _fixture.Create <InstructionTrailerViewModel>(); vm.IsVisible = true; await vm.Init(navID); await vm.CheckInstructionNotificationAsync(new GatewayInstructionNotificationMessage(this, mobileData.ID, GatewayInstructionNotificationMessage.NotificationCommand.Delete)); _mockUserInteraction.Verify(cui => cui.AlertAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); _navigationServiceMock.Verify(ns => ns.GoToManifestAsync(), Times.Once); }
public async Task ReviseQuantityVM_SuccessfulUpdate() { base.ClearAll(); var reviseQuantityVM = _fixture.Create <ReviseQuantityViewModel>(); int newQuantity = 123; var navData = new NavData <MobileData>() { Data = _mobileData }; navData.OtherData["Order"] = _mobileData.Order.Items.FirstOrDefault(); navData.OtherData["DataChunk"] = _fixture.Create <MobileApplicationDataChunkContentActivity>(); var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); reviseQuantityVM.Init(navID); reviseQuantityVM.OrderQuantity = newQuantity.ToString(); await reviseQuantityVM.ReviseQuantityAsync(); Assert.Equal(_mobileData.Order.Items.FirstOrDefault().Quantity, reviseQuantityVM.OrderQuantity); }
public async Task ReviseQuantityVM_CheckInstructionNotification_Update_Confirm() { base.ClearAll(); var reviseQuantityVM = _fixture.Create <ReviseQuantityViewModel>(); reviseQuantityVM.IsVisible = true; var navData = new NavData <MobileData>() { Data = _mobileData }; navData.OtherData["Order"] = _mobileData.Order.Items.FirstOrDefault(); navData.OtherData["DataChunk"] = _fixture.Create <MobileApplicationDataChunkContentActivity>(); var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); reviseQuantityVM.Init(navID); await reviseQuantityVM.CheckInstructionNotificationAsync(new GatewayInstructionNotificationMessage(this, _mobileData.ID, GatewayInstructionNotificationMessage.NotificationCommand.Update)); _mockUserInteraction.Verify(cui => cui.AlertAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); _mockMobileDataRepo.Verify(mdr => mdr.GetByIDAsync(It.Is <Guid>(gui => gui.ToString() == _mobileData.ID.ToString())), Times.Exactly(1)); }
public async Task InstructionCommmentVM_CommentAddToMobileApplicationDataChunkService() { base.ClearAll(); var instructionCommentVM = _fixture.Create <InstructionCommentViewModel>(); var navData = new NavData <MobileData>() { Data = _mobileData }; var dataChunk = _fixture.Create <MobileApplicationDataChunkContentActivity>(); navData.OtherData["DataChunk"] = dataChunk; var navID = Guid.NewGuid(); _navigationService.Setup(ns => ns.GetNavData <MobileData>(navID)).Returns(navData); instructionCommentVM.Init(navID); var inputText = "This is a test comment"; instructionCommentVM.CommentText = inputText; var mockDataChunkActivity = _fixture.Create <MobileApplicationDataChunkContentActivity>(); mockDataChunkActivity.Comment = inputText; await instructionCommentVM.AdvanceInstructionCommentAsync(); Assert.Equal(dataChunk.Comment, instructionCommentVM.CommentText); }
public NavController(int num) { _data = new NavData(); _dirty = true; padData = new PSMoveSharpNavPadData(); Connected = false; Num = num; }
/// <summary> /// 修改 /// </summary> /// <param name="nav"></param> /// <returns></returns> public ActionResult Edit(NavData nav) { List <NavData> list = Serialize.DeSerializeNow <List <NavData> >(GTKey.File_Nav); EditNav(list, nav.ID, nav); Serialize.ToSerialize(list, GTKey.File_Nav); return(Success(GTKey.Msg_Succes_Edit, "Index")); }
private void update(NavData data) { this.battery = data.battery + "%"; this.altitude = Math.Round((float)data.altitude / 1000, 2) + " m"; this.vx = "" + data.vx; this.vy = "" + data.vy; this.vz = "" + data.vz; }
public async Task <ServiceResponse <GetNavDataDto> > GetNavData() { ServiceResponse <GetNavDataDto> serviceResponse = new ServiceResponse <GetNavDataDto>(); NavData navData = await _context.NavData.FirstOrDefaultAsync(bd => bd.Id == 1); serviceResponse.Data = _mapper.Map <GetNavDataDto>(navData); return(serviceResponse); }
public static IEnumerable <MobileData> GetAllInstructions(this NavData <MobileData> navData) { List <MobileData> mobileDatas = new List <MobileData>(); mobileDatas.Add(navData.Data); mobileDatas.AddRange(navData.GetAdditionalInstructions()); return(mobileDatas); }
public static List <MobileData> GetAdditionalInstructions(this NavData <MobileData> navData) { if (!navData.OtherData.IsDefined("AdditionalInstructions")) { navData.OtherData["AdditionalInstructions"] = new List <MobileData>(); } return(navData.OtherData["AdditionalInstructions"] as List <MobileData>); }
protected override void AdditionalSetup() { _mockUserInteraction = new Mock <ICustomUserInteraction>(); Ioc.RegisterSingleton <ICustomUserInteraction>(_mockUserInteraction.Object); _mockMessenger = new Mock <IMvxMessenger>(); Ioc.RegisterSingleton <IMvxMessenger>(_mockMessenger.Object); _fixture = new Fixture().Customize(new AutoMoqCustomization()); _fixture.OmitProperty("EffectiveDateString"); _fixture.Customize <InstructionSafetyCheckViewModel>(vm => vm.Without(x => x.SafetyCheckItemViewModels)); _fixture.Customize <InstructionSafetyCheckViewModel>(vm => vm.Without(x => x.SafetyProfileVehicle)); _fixture.Customize <SafetyCheckFault>(vm => vm.With(x => x.Status, Core.Enums.SafetyCheckStatus.Passed)); _driver = _fixture.Create <Core.Models.Driver>(); _vehicle = _fixture.Create <Core.Models.Vehicle>(); _trailer = _fixture.Create <Core.Models.Trailer>(); _infoService = _fixture.Create <InfoService>(); _fixture.Inject <IInfoService>(_infoService); _infoService.SetCurrentDriver(_driver); _infoService.SetCurrentVehicle(_vehicle); _safetyCheckService = _fixture.Create <SafetyCheckService>(); _fixture.Inject <ISafetyCheckService>(_safetyCheckService); _mobileData = _fixture.SetUpInstruction(Core.Enums.InstructionType.Collect, false, true, false, false, false, false, true, null); _navData = new NavData <MobileData>() { Data = _mobileData }; _navData.OtherData["UpdatedTrailer"] = _trailer; _safetyCheckService.CurrentVehicleSafetyCheckData = _vehicleSafetyCheckData = _fixture.Create <SafetyCheckData>(); _navData.OtherData["UpdatedTrailerSafetyCheckData"] = _trailerSafetyCheckData = _fixture.Create <SafetyCheckData>(); var mockMobileDataRepo = _fixture.InjectNewMock <IMobileDataRepository>(); mockMobileDataRepo.Setup(mdr => mdr.GetByIDAsync(It.Is <Guid>(i => i == _mobileData.ID))).ReturnsAsync(_mobileData); _mockSafetyProfileRepository = _fixture.InjectNewMock <ISafetyProfileRepository>(); _mockConfigRepository = _fixture.InjectNewMock <IConfigRepository>(); _mockVehicleRepo = _fixture.InjectNewMock <IVehicleRepository>(); _mockVehicleRepo.Setup(vr => vr.GetByIDAsync(_vehicle.ID)).ReturnsAsync(_vehicle); var repositories = _fixture.Create <Repositories>(); _fixture.Inject <IRepositories>(repositories); _mockNavigationService = _fixture.InjectNewMock <INavigationService>(); Ioc.RegisterSingleton <INavigationService>(_mockNavigationService.Object); _safetyProfiles = CreateSafetyProfiles(); }