Beispiel #1
0
        public AssessmentViewModelValidator(IFutureDateValidator futureDateValidator)
        {
            RuleFor(model => model.Stage1DecisionToBeMade)
            .NotEmpty()
            .WithMessage("Decision to be made is mandatory")
            .Length(1, 1000)
            .WithMessage("Decision must be less than 1000 characters");

            RuleFor(model => model.DateAssessmentStarted)
            .Must(futureDateValidator.Valid)
            .WithMessage("Date assessment started must not be in the future");

            RuleFor(model => model.Stage1DecisionClearlyMade)
            .NotEqual(x => false)
            .WithMessage("Please confirm that the decision is clearly defined");

            RuleFor(model => model.RoleId)
            .NotEmpty()
            .WithMessage(ApplicationStringConstants.RoleIdMandatory);

            When(m => m.RoleId == (int)RoleIdEnum.Assessor, () => RuleFor(m => m.DecisionMaker)
                 .NotEmpty()
                 .WithMessage("Decision maker's name is mandatory")
                 .Length(1, 50)
                 .WithMessage("Decision maker's name must be less than 50 characters"));
        }
Beispiel #2
0
        public PatientViewModelValidator(IFutureDateValidator futureDateValidator, INhsValidator nhsValidator, IClinicalSystemIdDescriptionProvider clinicalSystemIdDescriptionProvider)
        {
            RuleFor(model => model.ClinicalSystemId)
            .NotEmpty()
            .WithMessage(string.Format("{0} is mandatory", clinicalSystemIdDescriptionProvider.GetDescription()))
            .Length(1, 50)
            .WithMessage(string.Format("{0} must be less than 50 characters", clinicalSystemIdDescriptionProvider.GetDescription()));

            RuleFor(model => model.FirstName)
            .NotEmpty()
            .WithMessage("First name is mandatory")
            .Length(1, 50)
            .WithMessage("First name must be less than 50 characters");

            RuleFor(model => model.LastName)
            .NotEmpty()
            .WithMessage("Last name is mandatory")
            .Length(1, 50)
            .WithMessage("Last name must be less than 50 characters");;

            RuleFor(model => model.DateOfBirthViewModel)
            .NotNull()
            .SetValidator(new DateOfBirthViewModelValidator(futureDateValidator));

            RuleFor(model => model.GenderId)
            .NotEmpty()
            .WithMessage("Gender is mandatory");

            RuleFor(model => model.NhsNumber)
            .Must(nhsValidator.Valid)
            .WithMessage("NHS number is not valid");
        }
Beispiel #3
0
        public void Setup()
        {
            _futureDateValidator = A.Fake <IFutureDateValidator>();

            A.CallTo(() => _futureDateValidator.Valid(A <DateTime?> ._)).Returns(true);

            _dateOfBirthViewModelValidator = new DateOfBirthViewModelValidator(_futureDateValidator);
        }
        public void Setup()
        {
            _futureDateValidator = A.Fake <IFutureDateValidator>();
            _nhsValidator        = A.Fake <INhsValidator>();
            _clinicalSystemIdDescriptionProvider = A.Fake <IClinicalSystemIdDescriptionProvider>();

            A.CallTo(() => _clinicalSystemIdDescriptionProvider.GetDescription()).Returns(Clinicalsystemid);
            A.CallTo(() => _futureDateValidator.Valid(A <DateTime?> ._)).Returns(true);
            A.CallTo(() => _nhsValidator.Valid(A <decimal?> ._)).Returns(true);
        }
Beispiel #5
0
        public CreatePatientViewModelValidator(IFutureDateValidator futureDateValidator,
                                               IClinicalIdValidator clinicalIdValidator,
                                               INhsValidator nhsValidator,
                                               IClinicalSystemIdDescriptionProvider clinicalSystemIdDescriptionProvider)
            : base(futureDateValidator, nhsValidator, clinicalSystemIdDescriptionProvider)
        {
            RuleFor(model => model.NhsNumber)
            .Must(nhsValidator.Unique)
            .WithMessage("A person with this NHS Number already exists");

            RuleFor(model => model.ClinicalSystemId)
            .Must(clinicalIdValidator.Unique)
            .WithMessage(string.Format("A person with this {0} already exists", clinicalSystemIdDescriptionProvider.GetDescription()));
        }
Beispiel #6
0
        public void AssessmentViewModelValidator_AssessmentDateIsInTheFuture_ValidationShouldFail()
        {
            _futureDateValidator = A.Fake <IFutureDateValidator>();
            A.CallTo(() => _futureDateValidator.Valid(A <DateTime> ._)).Returns(false);

            var model = new AssessmentViewModel()
            {
                DateAssessmentStarted     = DateTime.Now.AddDays(1),
                Stage1DecisionToBeMade    = "decision",
                Stage1DecisionClearlyMade = true
            };

            var validator = new AssessmentViewModelValidator(_futureDateValidator);
            var result    = validator.Validate(model);

            result.IsValid.Should().BeFalse();
        }
Beispiel #7
0
        public DateOfBirthViewModelValidator(IFutureDateValidator futureDateValidator)
        {
            RuleFor(model => model.Day)
            .NotEmpty()
            .WithMessage("Day is mandatory");

            RuleFor(model => model.Month)
            .NotEmpty()
            .WithMessage("Month is mandatory");

            RuleFor(model => model.Year)
            .NotEmpty()
            .WithMessage("Year is mandatory");

            RuleFor(model => model.Date)
            .NotNull()
            .WithMessage("Selected date is not valid");

            When(x => x.Date != null,
                 () => RuleFor(model => model.Date)
                 .Must(futureDateValidator.Valid)
                 .WithMessage("Date of birth must not be in the future"));
        }
Beispiel #8
0
 public void Setup()
 {
     _futureDateValidator = A.Fake <IFutureDateValidator>();
     A.CallTo(() => _futureDateValidator.Valid(A <DateTime> ._)).Returns(true);
 }