예제 #1
0
        public void ValidationSummary_ErrorsInModelUsingOrder_SortsErrorsAsExpected()
        {
            // Arrange
            var expected = "<div class=\"HtmlEncode[[validation-summary-errors]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
                           "<li>HtmlEncode[[This is an error for OrderedProperty3.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is an error for OrderedProperty2.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is another error for OrderedProperty2.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is yet-another error for OrderedProperty2.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is an error for OrderedProperty1.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is an error for Property3.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is an error for Property2.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is another error for Property2.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is an error for Property1.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is another error for Property1.]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[This is an error for LastProperty.]]</li>" + Environment.NewLine +
                           "</ul></div>";

            var model = new OrderedModel();
            var html  = DefaultTemplatesUtilities.GetHtmlHelper(model);

            AddOrderedErrors(html.ViewData.ModelState);

            // Act
            var result = html.ValidationSummary(
                excludePropertyErrors: false,
                message: null,
                htmlAttributes: null,
                tag: null);

            // Assert
            Assert.Equal(expected, result.ToString());
        }
        public void ValidationSummary_IncludesErrorsForPropertiesOnCollectionTypes()
        {
            // Arrange
            var expected = "<div class=\"HtmlEncode[[validation-summary-errors]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
                           "<li>HtmlEncode[[[0].OrderedProperty2 error]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[[0].OrderedProperty1 error]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[[0].Property1 error]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[[2].OrderedProperty3 error]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[[2].Property3 error]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[OrderedProperty1 error]]</li>" + Environment.NewLine +
                           "<li>HtmlEncode[[OrderedProperty2 error]]</li>" + Environment.NewLine +
                           "</ul></div>";
            var model = new OrderedModel[5];
            var html  = DefaultTemplatesUtilities.GetHtmlHelper(model);

            html.ViewData.ModelState.AddModelError("[0].OrderedProperty2", "[0].OrderedProperty2 error");
            html.ViewData.ModelState.AddModelError("[0].Property1", "[0].Property1 error");
            html.ViewData.ModelState.AddModelError("[0].OrderedProperty1", "[0].OrderedProperty1 error");
            html.ViewData.ModelState.AddModelError("[2].Property3", "[2].Property3 error");
            html.ViewData.ModelState.AddModelError("[2].OrderedProperty3", "[2].OrderedProperty3 error");
            html.ViewData.ModelState.AddModelError("OrderedProperty1", "OrderedProperty1 error");
            html.ViewData.ModelState.AddModelError("OrderedProperty2", "OrderedProperty2 error");

            // Act
            var result = html.ValidationSummary(
                excludePropertyErrors: false,
                message: null,
                htmlAttributes: null,
                tag: null);

            // Assert
            Assert.Equal(expected, HtmlContentUtilities.HtmlContentToString(result));
        }
        public void OrderingWorksAsIntended()
        {
            var mdl = new OrderedModel();
            var res = SerializeAsJson(Configure(), mdl);
            Assert.Equal(new[] { "p2", "_links", "_embedded", "p3", "p1" }, res.Properties().Select(x => x.Name));

            var cfg2 = Configure();
            cfg2.HalJsonPropertiesOrder = 5;
            res = SerializeAsJson(cfg2, mdl);
            Assert.Equal(new[] { "p2", "p3", "p1", "_links", "_embedded" }, res.Properties().Select(x => x.Name));
        }
        public void OrderingWorksAsIntended()
        {
            var mdl = new OrderedModel();
            var res = SerializeAsJson(Configure(), mdl);

            Assert.Equal(new[] { "p2", "_links", "_embedded", "p3", "p1" }, res.Properties().Select(x => x.Name));

            var cfg2 = Configure();

            cfg2.HalJsonPropertiesOrder = 5;
            res = SerializeAsJson(cfg2, mdl);
            Assert.Equal(new[] { "p2", "p3", "p1", "_links", "_embedded" }, res.Properties().Select(x => x.Name));
        }
예제 #5
0
        public async Task <ActionResult <OrderedModel> > Post(
            [FromServices] DataContext context,
            [FromBody] OrderedModel model)
        {
            if (ModelState.IsValid)
            {
                Console.WriteLine(model);

                context.Ordered_list.Add(model);
                await context.SaveChangesAsync();

                return(model);
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public void ObjectTemplate_OrdersProperties_AsExpected()
        {
            // Arrange
            var model = new OrderedModel();
            var html  = DefaultTemplatesUtilities.GetHtmlHelper(model);
            var expectedProperties = new List <string>
            {
                "OrderedProperty3",
                "OrderedProperty2",
                "OrderedProperty1",
                "Property3",
                "Property1",
                "Property2",
                "LastProperty",
            };

            var stringBuilder = new StringBuilder();

            foreach (var property in expectedProperties)
            {
                var label = string.Format(
                    CultureInfo.InvariantCulture,
                    "<div class=\"HtmlEncode[[editor-label]]\"><label for=\"HtmlEncode[[{0}]]\">HtmlEncode[[{0}]]</label></div>",
                    property);
                stringBuilder.AppendLine(label);

                var value = string.Format(
                    CultureInfo.InvariantCulture,
                    "<div class=\"HtmlEncode[[editor-field]]\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
                    "SimpleDisplayText = (null) " +
                    "<span class=\"HtmlEncode[[field-validation-valid]]\" data-valmsg-for=\"HtmlEncode[[{0}]]\" data-valmsg-replace=\"HtmlEncode[[true]]\">" +
                    "</span></div>",
                    property);
                stringBuilder.AppendLine(value);
            }
            var expected = stringBuilder.ToString();

            // Act
            var result = DefaultEditorTemplates.ObjectTemplate(html);

            // Assert
            Assert.Equal(expected, result);
        }
        public void ObjectTemplate_OrdersProperties_AsExpected()
        {
            // Arrange
            var model = new OrderedModel();
            var html  = DefaultTemplatesUtilities.GetHtmlHelper(model);
            var expectedProperties = new List <string>
            {
                "OrderedProperty3",
                "OrderedProperty2",
                "OrderedProperty1",
                "Property3",
                "Property1",
                "Property2",
                "LastProperty",
            };

            var stringBuilder = new StringBuilder();

            foreach (var property in expectedProperties)
            {
                var label = string.Format(
                    CultureInfo.InvariantCulture,
                    "<div class=\"HtmlEncode[[display-label]]\">HtmlEncode[[{0}]]</div>",
                    property);
                stringBuilder.AppendLine(label);

                var value = string.Format(
                    CultureInfo.InvariantCulture,
                    "<div class=\"HtmlEncode[[display-field]]\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
                    "SimpleDisplayText = (null)</div>",
                    property);
                stringBuilder.AppendLine(value);
            }
            var expected = stringBuilder.ToString();

            // Act
            var result = DefaultDisplayTemplates.ObjectTemplate(html);

            // Assert
            Assert.Equal(expected, HtmlContentUtilities.HtmlContentToString(result));
        }
        public void ObjectTemplate_OrdersProperties_AsExpected()
        {
            // Arrange
            var model = new OrderedModel();
            var html = DefaultTemplatesUtilities.GetHtmlHelper(model);
            var expectedProperties = new List<string>
            {
                "OrderedProperty3",
                "OrderedProperty2",
                "OrderedProperty1",
                "Property3",
                "Property1",
                "Property2",
                "LastProperty",
            };

            var stringBuilder = new StringBuilder();
            foreach (var property in expectedProperties)
            {
                var label = string.Format(
                    CultureInfo.InvariantCulture,
                    "<div class=\"HtmlEncode[[display-label]]\">HtmlEncode[[{0}]]</div>",
                    property);
                stringBuilder.AppendLine(label);

                var value = string.Format(
                    CultureInfo.InvariantCulture,
                    "<div class=\"HtmlEncode[[display-field]]\">Model = (null), ModelType = System.String, PropertyName = {0}, " +
                    "SimpleDisplayText = (null)</div>",
                    property);
                stringBuilder.AppendLine(value);
            }
            var expected = stringBuilder.ToString();

            // Act
            var result = DefaultDisplayTemplates.ObjectTemplate(html);

            // Assert
            Assert.Equal(expected, HtmlContentUtilities.HtmlContentToString(result));
        }
        public void ValidationSummary_ErrorsInModelUsingOrder_SortsErrorsAsExpected()
        {
            // Arrange
            var expected = "<div class=\"HtmlEncode[[validation-summary-errors]]\" data-valmsg-summary=\"HtmlEncode[[true]]\"><ul>" +
                "<li>HtmlEncode[[This is an error for OrderedProperty3.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is an error for OrderedProperty2.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is another error for OrderedProperty2.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is yet-another error for OrderedProperty2.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is an error for OrderedProperty1.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is an error for Property3.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is an error for Property2.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is another error for Property2.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is an error for Property1.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is another error for Property1.]]</li>" + Environment.NewLine +
                "<li>HtmlEncode[[This is an error for LastProperty.]]</li>" + Environment.NewLine +
                "</ul></div>";

            var model = new OrderedModel();
            var html = DefaultTemplatesUtilities.GetHtmlHelper(model);
            AddOrderedErrors(html.ViewData.ModelState);

            // Act
            var result = html.ValidationSummary(
                excludePropertyErrors: false,
                message: null,
                htmlAttributes: null,
                tag: null);

            // Assert
            Assert.Equal(expected, HtmlContentUtilities.HtmlContentToString(result));
        }