Esempio n. 1
0
        public void AcceptsMultiPartFormData()
        {
            var mockContext = new Mock <IAbstractModelApplicationRequestContext>();

            mockContext.Setup(c => c.ContentType).Returns("multipart/form-data");

            var applicator = new FormDataAbstractModelApplicator();

            Assert.IsTrue(applicator.ContentTypes.Contains("multipart/form-data"));
            Assert.IsTrue(applicator.Handles(mockContext.Object));
        }
Esempio n. 2
0
        public void AcceptsApplicationWwwFormUrlEncoded()
        {
            var mockContext = new Mock <IAbstractModelApplicationRequestContext>();

            mockContext.Setup(c => c.ContentType).Returns("application/x-www-form-urlencoded");

            var applicator = new FormDataAbstractModelApplicator();

            Assert.IsTrue(applicator.ContentTypes.Contains("application/x-www-form-urlencoded"));
            Assert.IsTrue(applicator.Handles(mockContext.Object));
        }
Esempio n. 3
0
        public void ApplyMultiPartFormData()
        {
            var formCollection = new FormCollection(new Dictionary <string, StringValues>
            {
                { "foo", "bar" },
                { "multi", new[] { "one", "two" } }
            });

            var mockContext = new Mock <IAbstractModelApplicationRequestContext>();

            mockContext.Setup(c => c.ContentType).Returns("multipart/form-data");
            mockContext.Setup(c => c.Form).Returns(formCollection);

            var applicator    = new FormDataAbstractModelApplicator();
            var abstractModel = new AbstractModel();

            Assert.IsTrue(applicator.Handles(mockContext.Object));
            applicator.ApplyAsync(mockContext.Object, abstractModel, CancellationToken.None).Wait();

            Assert.AreEqual(0, abstractModel.ValueCount);
            Assert.AreEqual(2, abstractModel.ChildCount);

            var foo = abstractModel["foo"];

            Assert.IsNotNull(foo);
            Assert.AreEqual(0, foo.ChildCount);
            Assert.AreEqual(1, foo.ValueCount);
            Assert.AreEqual("bar", foo.Values[0]);

            var multi = abstractModel["multi"];

            Assert.IsNotNull(multi);
            Assert.AreEqual(0, multi.ChildCount);
            Assert.AreEqual(2, multi.ValueCount);
            Assert.AreEqual("one", multi.Values[0]);
            Assert.AreEqual("two", multi.Values[1]);
        }