public void NotificationNumberIsNullOrEmptyOrWhitespace_ReturnsError(string notificationNumber) { model.NotificationNumber = notificationNumber; List <ValidationResult> result = ViewModelValidator.ValidateViewModel(model); Assert.Equal(1, result.Count); }
public void ViewModelValidator_ObjectWithCollection() { var testViewModel = new TestViewModel() { Children = new List <TestViewModel2>() { new TestViewModel2() { Code = "012" }, new TestViewModel2() { Code = "ABC", Id = 13 }, new TestViewModel2() { Code = "345", Id = 15 } }, Child = new TestViewModel2() { Code = "123" } }; var validator = new ViewModelValidator(); var results = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList(); Assert.AreEqual(4, results.Count); Assert.AreEqual("Child().Id", results[0].PropertyPath); Assert.AreEqual("Children()[0].Id", results[1].PropertyPath); Assert.AreEqual("Children()[1].Code", results[2].PropertyPath); Assert.AreEqual("Text", results[3].PropertyPath); }
public async Task RedirectsToReviewAccess_ForSharedUserEmail() { var model = new ChangeOwnerViewModel(this.notificationId); model.EmailAddress = externalUserEmail; A.CallTo( () => mediator.SendAsync(A <ExternalUserExists> .That.Matches(p => p.EmailAddress == externalUserEmail.ToString()))) .Returns(true); A.CallTo( () => mediator.SendAsync(A <GetSharedUsersByNotificationId> ._)).Returns(new List <NotificationSharedUser> { new NotificationSharedUser { Id = new Guid("4345FB05-F7DF-4E16-939C-C09FCA5C7D7B"), Email = "test1.fake.com" }, new NotificationSharedUser { Id = new Guid("29B0D09E-BA77-49FB-AF95-4171408C07C9"), Email = externalUserEmail } }); var result = await changeOwnerController.Index(model) as RedirectToRouteResult; Assert.True(ViewModelValidator.ValidateViewModel(model).Count == 0); Assert.Equal("ReviewAccess", result.RouteValues["action"]); }
public void Add_Email_EmailNotValidFormat() { var model = new ShareNotificationViewModel(this.notificationId); model.EmailAddress = "fake"; Assert.True(ViewModelValidator.ValidateViewModel(model).Count > 0); }
public void Add_Email_MaximumEmailCountReached() { var model = new ShareNotificationViewModel(this.notificationId); model.SelectedSharedUsers = this.CreateSharedUserList(5); Assert.True(ViewModelValidator.ValidateViewModel(model).Count > 0); }
public void NoUnitsProvided_ValidationError() { var viewModel = new DisposalCostViewModel(); viewModel.Amount = "1"; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0); }
public void SelectedCountryIsNull_ReturnsError() { model.SelectedCountry = null; List <ValidationResult> result = ViewModelValidator.ValidateViewModel(model); Assert.Equal(1, result.Count); }
public void NameTooLong_ReturnsError() { model.Name = new string('a', 1025); List <ValidationResult> result = ViewModelValidator.ValidateViewModel(model); Assert.Equal(1, result.Count); }
public void ValidTechnologyEmployed_NoValidationError() { var viewModel = new TechnologyEmployedViewModel { Details = "valid value" }; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count == 0); }
public void InvalidTechnologyEmployed_ValidationError() { var viewModel = new TechnologyEmployedViewModel { Details = invalidTechnologyEmployed }; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0); }
public void ValidReasonOfExport_NoValidationError() { var viewModel = new ReasonForExportViewModel { ReasonForExport = "valid value" }; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count == 0); }
public void InvalidAgencyEmailAddresses(UKCompetentAuthority competentAuthority, string email) { viewModel.CompetentAuthority = competentAuthority; viewModel.Email = email; var validationResult = ViewModelValidator.ValidateViewModel(viewModel); Assert.Single(validationResult); }
public void NoCostProvided_ValidationError() { var viewModel = new DisposalCostViewModel(); viewModel.Units = ValuePerWeightUnits.Kilogram; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0); }
public void InvalidReasonOfExport_ValidationError() { var viewModel = new ReasonForExportViewModel { ReasonForExport = invalidReasonOfExport }; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0); }
public void ViewModelValidator_SimpleObject() { var testViewModel = new TestViewModel(); var validator = new ViewModelValidator(); var results = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList(); Assert.AreEqual(1, results.Count); Assert.AreEqual("Text", results[0].PropertyPath); }
public void ViewModelValidator_ServerOnlyRules() { var testViewModel = new TestViewModel3() { Email = "aaa" }; var validator = new ViewModelValidator(); var results = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList(); Assert.AreEqual(1, results.Count); Assert.AreEqual("Email", results[0].PropertyPath); }
public void NumberOfShipmentsCanContainCommas() { AddValidDateToModel(); model.NumberOfShipments = "1,000"; var errors = ViewModelValidator.ValidateViewModel(model); Assert.Equal(0, errors.Count); }
public void CostInvalidFormat_ValidationError(string amount) { var viewModel = new DisposalCostViewModel(); viewModel.Units = ValuePerWeightUnits.Kilogram; viewModel.Amount = amount; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0); }
public void QuantyContainValidData(string v) { AddValidDateToModel(); model.Quantity = v; var errors = ViewModelValidator.ValidateViewModel(model); Assert.Equal(0, errors.Count); }
public void QuantityValidationTests(string v) { AddValidDateToModel(); model.Quantity = v; var errors = ViewModelValidator.ValidateViewModel(model); Assert.Equal(1, errors.Count); Assert.Equal("Please enter a valid number with a maximum of 4 decimal places", errors[0].ErrorMessage); }
public void NumberOfShipmentsValidationTests(string v) { AddValidDateToModel(); model.NumberOfShipments = v; var errors = ViewModelValidator.ValidateViewModel(model); Assert.Equal(1, errors.Count); Assert.Equal("Please enter a valid number between 1 and 99999", errors[0].ErrorMessage); }
public void CanNotProvideFurtherDetails_WhenAnnexProvided() { var viewModel = new TechnologyEmployedViewModel { Details = invalidTechnologyEmployed, AnnexProvided = true, FurtherDetails = "any value" }; Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0); }
/// <summary> /// Called before the command is executed. /// </summary> protected internal override void OnCommandExecuting(IDotvvmRequestContext context, ActionInfo actionInfo) { if (!string.IsNullOrEmpty(context.ModelState.ValidationTargetPath)) { // perform the validation context.ModelState.Errors.AddRange(viewModelValidator.ValidateViewModel(context.ModelState.ValidationTarget)); // return the model state when error occurs context.FailOnInvalidModelState(); } base.OnCommandExecuting(context, actionInfo); }
public void StartDateMustBeBeforeEndDate() { model.StartDay = 1; model.StartMonth = 1; model.StartYear = 2016; model.EndDay = 1; model.EndMonth = 8; model.EndYear = 2015; var errors = ViewModelValidator.ValidateViewModel(model); Assert.True(errors.Any(p => p.ErrorMessage == "The first departure date must be before the last departure date")); }
public void ActualShipmentDateCanBeSixtyDaysAfterPrenotification() { var model = new CaptureViewModel(); model.ShipmentNumber = 52; model.PrenotificationDate = new MaskedDateInputViewModel(new DateTime(2015, 5, 25)); model.ActualShipmentDate = new MaskedDateInputViewModel(new DateTime(2015, 07, 24)); model.Receipt.ReceivedDate = new MaskedDateInputViewModel(new DateTime(2016, 6, 1)); model.Receipt.ActualQuantity = 10; model.Receipt.WasAccepted = true; model.Receipt.ActualUnits = Core.Shared.ShipmentQuantityUnits.Tonnes; Assert.Empty(ViewModelValidator.ValidateViewModel(model)); }
public void StartDateCantBeInvalid() { model.StartDay = 31; model.StartMonth = 2; model.StartYear = 2016; model.EndDay = 31; model.EndMonth = 3; model.EndYear = 2016; var errors = ViewModelValidator.ValidateViewModel(model); Assert.True(errors.Any(p => p.ErrorMessage == "Please enter a valid first departure date")); }
public void ViewModelValidator_Child_IValidatableObject() { var testViewModel = new TestViewModel5() { Child = new TestViewModel5Child() { IsChecked = true } }; var validator = new ViewModelValidator(); var results = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList(); Assert.AreEqual(1, results.Count); Assert.AreEqual("Child().ConditionalRequired", results[0].PropertyPath); }
public void CanHaveInvalidAgencyEmailAddressesesWhenNotLiveEnvironment(UKCompetentAuthority competentAuthority, string email) { A.CallTo(() => dependencyResolver.GetService(typeof(AppConfiguration))).Returns( new AppConfiguration() { Environment = "TEST" }); viewModel.CompetentAuthority = competentAuthority; viewModel.Email = email; var validationResult = ViewModelValidator.ValidateViewModel(viewModel); Assert.Empty(validationResult); }
public void StartDateCanBeInPastForSubmitted() { model.Status = NotificationStatus.Submitted; model.StartDay = 1; model.StartMonth = 1; model.StartYear = 2015; model.EndDay = 1; model.EndMonth = 12; model.EndYear = 2015; var errors = ViewModelValidator.ValidateViewModel(model); Assert.Empty(errors); }
public void PreconsentedNotificationDatesCantBeExactly36Months() { model.IsPreconsentedRecoveryFacility = true; model.StartDay = 1; model.StartMonth = 1; model.StartYear = 2016; model.EndDay = 1; model.EndMonth = 1; model.EndYear = 2019; var errors = ViewModelValidator.ValidateViewModel(model); Assert.True(errors.Any(p => p.ErrorMessage.Contains("The first departure date and last departure date must be within a 36 month period"))); }
public void ViewModelValidator_ObjectWithCollection() { var testViewModel = new TestViewModel() { Children = new List<TestViewModel2>() { new TestViewModel2() { Code = "012" }, new TestViewModel2() { Code = "ABC", Id = 13 }, new TestViewModel2() { Code = "345", Id = 15 } }, Child = new TestViewModel2() { Code = "123" } }; var validator = new ViewModelValidator(); var results = validator.ValidateViewModel(testViewModel).OrderBy(n => n.PropertyPath).ToList(); Assert.AreEqual(4, results.Count); Assert.AreEqual("Child().Id", results[0].PropertyPath); Assert.AreEqual("Children()[0].Id", results[1].PropertyPath); Assert.AreEqual("Children()[1].Code", results[2].PropertyPath); Assert.AreEqual("Text", results[3].PropertyPath); }