public void NotificationNumberIsNullOrEmptyOrWhitespace_ReturnsError(string notificationNumber)
        {
            model.NotificationNumber = notificationNumber;
            List <ValidationResult> result = ViewModelValidator.ValidateViewModel(model);

            Assert.Equal(1, result.Count);
        }
Exemple #2
0
        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);
        }
Exemple #6
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);
        }
Exemple #12
0
        public void InvalidAgencyEmailAddresses(UKCompetentAuthority competentAuthority, string email)
        {
            viewModel.CompetentAuthority = competentAuthority;
            viewModel.Email = email;
            var validationResult = ViewModelValidator.ValidateViewModel(viewModel);

            Assert.Single(validationResult);
        }
Exemple #13
0
        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);
        }
Exemple #17
0
        public void NumberOfShipmentsCanContainCommas()
        {
            AddValidDateToModel();
            model.NumberOfShipments = "1,000";

            var errors = ViewModelValidator.ValidateViewModel(model);

            Assert.Equal(0, errors.Count);
        }
Exemple #18
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);
        }
Exemple #19
0
        public void CostInvalidFormat_ValidationError(string amount)
        {
            var viewModel = new DisposalCostViewModel();

            viewModel.Units  = ValuePerWeightUnits.Kilogram;
            viewModel.Amount = amount;

            Assert.True(ViewModelValidator.ValidateViewModel(viewModel).Count > 0);
        }
Exemple #20
0
        public void QuantyContainValidData(string v)
        {
            AddValidDateToModel();
            model.Quantity = v;

            var errors = ViewModelValidator.ValidateViewModel(model);

            Assert.Equal(0, errors.Count);
        }
Exemple #21
0
        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);
        }
Exemple #22
0
        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);
        }
Exemple #24
0
        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);
        }
        /// <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);
        }
Exemple #26
0
        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"));
        }
Exemple #27
0
        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));
        }
Exemple #28
0
        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"));
        }
Exemple #29
0
        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);
        }
Exemple #30
0
        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);
        }
Exemple #31
0
        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);
        }
Exemple #32
0
        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);
        }