public void CheckInvalidWhenEmpty()
        {
            var sut = new DateFormElementData();

            sut.CustomValidate();
            Assert.False(sut.IsValid);
        }
        public void CheckValueNullWhenEmpty()
        {
            var sut = new DateFormElementData();

            Assert.Null(sut.ValueDate);
            Assert.Empty(sut.Value);
        }
Beispiel #3
0
        public void DateFilled()
        {
            var data = new DateFormElementData
            {
                IsDisabled = true,
                Name       = "TheName",
                Value      = "1979-03-08",
                Culture    = new CultureInfo("nl-NL")
            } as IFormElementData;

            System.Threading.Thread.CurrentThread.CurrentCulture = data.Culture;
            var cut = RenderComponent <Date>(
                CascadingValue(data),
                CascadingValue(new EditContext(data)));

            var inputs = cut.FindAll("input");
            var labels = cut.FindAll("label");
            var hints  = cut.FindAll("div.mdc-text-field-helper-text");
            var errors = cut.FindAll("div.validation-message");

            Assert.Equal(2, inputs.Count);
            Assert.Contains("mat-text-field-input", inputs[0].ClassName);
            var input = inputs[0];

            Assert.NotNull(input);
            Assert.Equal("TheName", input.Id);
            Assert.NotNull(input.Attr("value"));
            Assert.Equal("8-3-1979", input.Attr("value"));
            Assert.Null(input.Attr("aria-label"));
            Assert.True(input.IsDisabled());
            Assert.Empty(labels);
            Assert.Empty(hints);
            Assert.Empty(errors);
        }
Beispiel #4
0
        public void DateEmpty()
        {
            var data = new DateFormElementData() as IFormElementData;
            var cut  = RenderComponent <Date>(
                CascadingValue(data),
                CascadingValue(new EditContext(data)));

            System.Threading.Thread.CurrentThread.CurrentCulture = data.Culture;

            var inputs = cut.FindAll("input");
            var labels = cut.FindAll("label");
            var hints  = cut.FindAll(".mdc-text-field-helper-line");
            var errors = cut.FindAll("div.validation-message");

            Assert.Equal(2, inputs.Count);
            Assert.Contains("mat-text-field-input", inputs.First().ClassName);
            var input = inputs[0];

            Assert.NotNull(input);
            Assert.Null(input.Id);
            Assert.Null(input.Attr("value"));
            Assert.Null(input.Attr("aria-label"));
            Assert.False(input.IsDisabled());
            Assert.Empty(labels);
            Assert.Empty(hints);
            Assert.Empty(errors);
        }
        public void ShouldSetDateTimeForDefaultCulture()
        {
            var sut = new DateFormElementData
            {
                Value = "08-03-1979"
            };

            Assert.Equal(new DateTime(1979, 3, 8), sut.ValueDate);
        }
        public void ShouldSetValueNoLeadingZeros()
        {
            var sut = new DateFormElementData
            {
                Value = "1979-3-8"
            };

            Assert.Equal(new DateTime(1979, 3, 8), sut.ValueDate);
        }
        public void ShouldSetValue()
        {
            var sut = new DateFormElementData
            {
                Value = "1979-03-08"
            };

            Assert.Equal(new DateTime(1979, 3, 8), sut.ValueDate);
        }
        public void ShouldGetDate()
        {
            var sut = new DateFormElementData
            {
                Value = "08-03-1979"
            };

            Assert.Equal("1979-03-08", sut.Value);
        }
        public void ShouldSetDateTimeForSetCulture()
        {
            var sut = new DateFormElementData
            {
                Culture = new CultureInfo("en-US"),
                Value   = "03/08/1979"
            };

            Assert.Equal(new DateTime(1979, 3, 8), sut.ValueDate);
        }
        private void ShouldValidateDateTooHigh()
        {
            var sut = new DateFormElementData
            {
                Value = "1949-08-01",
                MaximumAllowedDate = new DateTime(1944, 03, 11)
            };

            sut.CustomValidate();
            Assert.False(sut.IsValid);
            Assert.Equal("De datum is groter dan de maximaal toegestane datum: '11-3-1944'.", sut.ErrorText);
        }
        private void ShouldValidateDateTooLow()
        {
            var sut = new DateFormElementData
            {
                Value = "1979-03-08",
                MinimumAllowedDate = new DateTime(1988, 05, 09)
            };

            sut.CustomValidate();
            Assert.False(sut.IsValid);
            Assert.Equal("De datum is kleiner dan de minimaal toegestane datum: '9-5-1988'.", sut.ErrorText);
        }
Beispiel #12
0
        public void HasCorrectParts()
        {
            var data = new DateFormElementData
            {
                Label    = "TheLabel",
                HintText = "TheHint"
            } as IFormElementData;

            System.Threading.Thread.CurrentThread.CurrentCulture = data.Culture;

            data.CustomValidate();
            Validator.TryValidateObject(data, new ValidationContext(data), null);
            var cut = RenderComponent <Date>(
                CascadingValue(data),
                CascadingValue(new EditContext(data)));

            Assert.NotEmpty(data.ErrorText);
            Assert.False(data.IsValid);

            var input  = cut.Find("input");
            var labels = cut.FindAll("label");
            var hints  = cut.FindAll("div.mdc-text-field-helper-text");
            var errors = cut.FindAll("div.validation-message");

            Assert.NotNull(input.Attr("aria-label"));
            Assert.Equal("TheLabel", input.Attr("aria-label"));
            Assert.Single(labels);
            Assert.Equal("TheLabel", labels[0].InnerHtml);
            Assert.Single(hints);
            Assert.Equal("TheHint", hints[0].InnerHtml);
            //Assert.NotEmpty(errors);

            //check order
            var top = cut.Find("div");

            Assert.Equal("input", top.FirstChild().NodeName.ToLower());
            Assert.Equal("label", top.FirstChild().NextElement().NodeName.ToLower());
            Assert.Equal("div", top.FirstChild().NextElement().NextElement().NodeName.ToLower());
            Assert.Equal("div", top.FirstChild().NextElement().NextElement().NextElement().NodeName.ToLower());
            Assert.Equal("input", top.FirstChild().NextElement().NextElement().NextElement().FirstChild().NodeName.ToLower());
            Assert.Equal("button", top.FirstChild().NextElement().NextElement().NextElement().FirstChild().NextElement().NodeName.ToLower());
            Assert.Equal("i", top.FirstChild().NextElement().NextElement().NextElement().FirstChild().NextElement().FirstChild().NodeName.ToLower());
            Assert.Equal("div", top.NextElement().NodeName.ToLower());
            Assert.Equal("div", top.NextElement().FirstChild().NodeName.ToLower());
            Assert.Equal("p", top.NextElement().NextElement().NodeName.ToLower());
            //Assert.Equal("div", top.NextElement().NextElement().FirstChild().NodeName);
            //Assert.Equal("validation-message", top.NextElement().NextElement().FirstChild().ClassName);
        }
Beispiel #13
0
        public void DateFilledUSCulture()
        {
            var data = new DateFormElementData
            {
                Value   = "1979-03-08",
                Culture = new CultureInfo("en-US")
            } as IFormElementData;

            System.Threading.Thread.CurrentThread.CurrentCulture = data.Culture;

            var cut = RenderComponent <Date>(
                CascadingValue(data),
                CascadingValue(new EditContext(data)));

            var input = cut.Find("input");

            //This is an interface test. If you run this test on a server that has a changed format for en-US you will get a fail here.
            Assert.Equal("3/8/1979", input.Attr("value"));
        }
Beispiel #14
0
        public void ShouldDoTwoWayBinding()
        {
            var data = new DateFormElementData
            {
                Value = "1979-03-08"
            } as IFormElementData;

            System.Threading.Thread.CurrentThread.CurrentCulture = data.Culture;
            var cut = RenderComponent <Date>(
                CascadingValue(data),
                CascadingValue(new EditContext(data)));

            var input = cut.Find("input");

            Assert.Equal(new DateTime(1979, 3, 8), (cut.Instance.Data as IDateFormElementData).ValueDate);
            Assert.Equal("8-3-1979", input.Attr("value"));
            input.Change("9-5-1988");
            input = cut.Find("input");
            Assert.Equal(new DateTime(1988, 5, 9), (cut.Instance.Data as IDateFormElementData).ValueDate);
            Assert.Equal("9-5-1988", input.Attr("value"));
        }