Esempio n. 1
0
        public void WhenTheNumberIsRequiredButAnswerIsEmpty__ThenCorrectErrorMessageIsReturned(string email)
        {
            // arrange
            var fx         = new Fixture();
            var answerItem = AnswerBuilder.Build.WithDefaultValue(email).AnAnswer();
            var properties = new SortCodeValidationProperties()
            {
                IsRequired           = true,
                IsRequiredMessage    = fx.Create <string>(),
                InvalidFormatMessage = fx.Create <string>()
            };

            InFlightQuestion = new InFlightQuestion
            {
                Answer = answerItem
            };

            TestService = new SortCodeValidation(properties);

            // act
            var result = Act();

            // assert
            Assert.False(result.IsValid);
            Assert.Equal(properties.IsRequiredMessage, result.Errors.First().ErrorMessage);
        }
Esempio n. 2
0
        public void WhenTheEmailIsValid__ThenNoErrorsAreReturned()
        {
            // arrange
            var answerItem = AnswerBuilder.Build.WithDefaultValue("*****@*****.**").AnAnswer();

            TestService      = new EmailValidation(new EmailValidationProperties());
            InFlightQuestion = new InFlightQuestion
            {
                Answer = answerItem
            };

            // act
            var result = Act();

            // assert
            Assert.True(result.IsValid);
            Assert.Empty(result.Errors);
        }
        public void WhenTheNumberIsValid__ThenNoErrorsAreReturned(string number)
        {
            // arrange
            var answerItem = AnswerBuilder.Build.WithDefaultValue(number).AnAnswer();

            TestService      = new TelephoneValidation(new TelephoneValidationProperties());
            InFlightQuestion = new InFlightQuestion
            {
                Answer = answerItem
            };

            // act
            var result = Act();

            // assert
            Assert.True(result.IsValid);
            Assert.Empty(result.Errors);
        }
Esempio n. 4
0
        public void WhenTheEmailIsNotRequiredAndAnswerEmpty__ThenNoErrorsAreReturned()
        {
            // arrange
            TestService = new EmailValidation(new EmailValidationProperties
            {
                IsRequired = false
            });
            InFlightQuestion = new InFlightQuestion
            {
                Answer = new Answer()
            };

            // act
            var result = Act();

            // assert
            Assert.True(result.IsValid);
            Assert.Empty(result.Errors);
        }
Esempio n. 5
0
        public void WhenTheEmailIsRequiredButAnswerIsEmpty__ThenCorrectErrorMessageIsReturned(string email)
        {
            // arrange
            var answerItem = AnswerBuilder.Build.WithDefaultValue(email).AnAnswer();
            var properties = new EmailValidationProperties();

            TestService      = new EmailValidation(properties);
            InFlightQuestion = new InFlightQuestion
            {
                Answer = answerItem
            };

            // act
            var result = Act();

            // assert
            Assert.False(result.IsValid);
            Assert.Equal(properties.MissingEmailValidationMessage, result.Errors.First().ErrorMessage);
        }
Esempio n. 6
0
        public void WhenTheFieldIsSmallerThanTheMinLength__ThenTheCorrectErrorMessageIsReturned(string input)
        {
            // arrange
            var answerItem = AnswerBuilder.Build.WithDefaultValue(input).AnAnswer();
            var properties = new TextInputValidationProperties
            {
                MinLength        = 3,
                MinLengthMessage = Fx.Create <string>()
            };

            InFlightQuestion = new InFlightQuestion {
                Answer = answerItem
            };

            // act
            TestService = new TextInputValidation(properties);
            var result = Act();

            // assert
            Assert.False(result.IsValid);
            Assert.Contains(properties.MinLengthMessage, result.Errors.Select(x => x.ErrorMessage));
        }
        public void WhenTheFieldIsNotRequired__ThenNoErrorIsReturned(string input)
        {
            // arrange
            var answerItem = AnswerBuilder.Build.WithDefaultValue(input).AnAnswer();

            var properties = new TextInputValidationProperties
            {
                IsRequired = false
            };

            InFlightQuestion = new InFlightQuestion {
                Answer = answerItem
            };

            // act
            TestService = new TextInputValidation(properties);
            var result = Act();

            // assert
            Assert.True(result.IsValid);
            Assert.Empty(result.Errors);
        }
Esempio n. 8
0
        public void WhenTheValidationRequiresANumber__AndTheInputIsNotANumber__ThenCorrectErrorMessageIsReturned(string input)
        {
            // arrange
            var answerItem = AnswerBuilder.Build.WithDefaultValue(input).AnAnswer();

            var properties = new TextInputValidationProperties
            {
                IsNumber        = true,
                IsNumberMessage = Fx.Create <string>()
            };

            InFlightQuestion = new InFlightQuestion {
                Answer = answerItem
            };

            // act
            TestService = new TextInputValidation(properties);
            var result = Act();

            // assert
            Assert.False(result.IsValid);
            Assert.Contains(properties.IsNumberMessage, result.Errors.Select(x => x.ErrorMessage));
        }
Esempio n. 9
0
        public void WhenTheEmailIsLongerThanTheMaxLimit__ThenCorrectErrorMessageIsReturned()
        {
            // arrange
            var maxLength  = 100;
            var properties = new EmailValidationProperties
            {
                MaxLength = maxLength
            };

            var answerItem = AnswerBuilder.Build.WithDefaultValue(new string('a', maxLength + 1) + "@example.com").AnAnswer();

            TestService      = new EmailValidation(properties);
            InFlightQuestion = new InFlightQuestion
            {
                Answer = answerItem
            };

            // act
            var result = Act();

            // assert
            Assert.False(result.IsValid);
            Assert.Equal($"Email must be {maxLength} characters or fewer", result.Errors.First().ErrorMessage);
        }