public DummyValidatorBaseTest(ITestOutputHelper output)
        {
            var services = new ServiceCollection()
                           .AddLogging((builder) => builder.AddXUnit(output))
                           .AddSingleton <DummyValidator>();

            _validator = services
                         .BuildServiceProvider()
                         .GetRequiredService <DummyValidator>();
        }
예제 #2
0
        public void ShouldFailValidationWithAllErrors()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            Assert.IsFalse(validator.Validate(dummy));
            Assert.IsTrue(validator.HasErrors);
            Assert.IsTrue(validator.ErrorMessage.ToString().Contains("Name can't be blank"));
            Assert.IsTrue(validator.ErrorMessage.ToString().Contains("Email can't be blank"));
        }
예제 #3
0
        public void ShouldFailValidationWithOneError()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            dummy.Name = "Josh";

            Assert.IsFalse(validator.Validate(dummy));
            Assert.IsTrue(validator.HasErrors);
            Assert.AreEqual("Email can't be blank", (string)validator.ErrorMessage);
        }
예제 #4
0
        public void ShouldClearErrorMessageWhenPropertyValidationSucceed()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            validator.Validate(dummy, "Name");

            dummy.Name = "Jose";

            validator.Validate(dummy, "Name");

            Assert.IsNullOrEmpty((string)validator.ErrorMessage);
        }
예제 #5
0
        public void ShouldFailValidationWithAllErrorsAndPass()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            validator.Validate(dummy);

            dummy.Name = "Me";
            dummy.Email = "*****@*****.**";

            Assert.IsTrue(validator.Validate(dummy));
            Assert.IsFalse(validator.HasErrors);
            Assert.IsNullOrEmpty((string)validator.ErrorMessage);
        }
예제 #6
0
        public void ShouldValidateProperty()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            dummy.Name = "Josh";

            Assert.IsTrue(validator.Validate(dummy, "Name"));
        }
예제 #7
0
        public void ShouldValidateAll()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            dummy.Name = "Josh";
            dummy.Email = "*****@*****.**";

            Assert.IsTrue(validator.Validate(dummy));
            Assert.IsFalse(validator.HasErrors);
        }
예제 #8
0
        public void ShouldSetErrorMessageWhenPropertyValidationFailed()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            validator.Validate(dummy, "Name");

            Assert.AreEqual("Name can't be blank", (string)validator.ErrorMessage);
        }
예제 #9
0
        public void ShouldRaiseExceptionInvalidColumnName()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            Assert.IsTrue(validator.Validate(dummy, "noName"));
        }
예제 #10
0
        public void ShouldPassPropertiesWithNoValidations()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            Assert.IsTrue(validator.Validate(dummy, "Simple"));
        }
예제 #11
0
        public void ShouldNotHaveErrorsAfterValidationSucceed()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            dummy.Name = "Josh";

            Assert.IsTrue(validator.Validate(dummy, "Name"));
            Assert.IsFalse(validator.HasErrors);
        }
예제 #12
0
        public void ShouldInvalidateProperty()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            Assert.IsFalse(validator.Validate(dummy, "Name"));
        }
예제 #13
0
        public void ShouldHaveErrorsAfterValidationFailed()
        {
            var validator = new Validator<DummyValidator>();

            var dummy = new DummyValidator();

            Assert.IsFalse(validator.Validate(dummy, "Name"));
            Assert.IsTrue(validator.HasErrors);
        }