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)); }
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)); }
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]); }