public void Submit_Validation_Failure() { Microsoft.Web.Http.Data.Test.Models.EF.Product newProduct = new Microsoft.Web.Http.Data.Test.Models.EF.Product { ProductID = 1, ProductName = String.Empty, UnitPrice = -1 }; Microsoft.Web.Http.Data.Test.Models.EF.Product updateProduct = new Microsoft.Web.Http.Data.Test.Models.EF.Product { ProductID = 1, ProductName = new string('x', 50), UnitPrice = 55.77M }; ChangeSetEntry[] changeSet = new ChangeSetEntry[] { new ChangeSetEntry { Id = 1, Entity = newProduct, Operation = ChangeOperation.Insert }, new ChangeSetEntry { Id = 2, Entity = updateProduct, Operation = ChangeOperation.Update } }; HttpResponseMessage response = this.ExecuteSelfHostRequest("http://testhost/NorthwindEFTest/Submit", "NorthwindEFTest", changeSet); changeSet = response.Content.ReadAsAsync<ChangeSetEntry[]>().Result; // errors for the new product ValidationResultInfo[] errors = changeSet[0].ValidationErrors.ToArray(); Assert.Equal(2, errors.Length); Assert.True(changeSet[0].HasError); // validation rule inferred from EF model Assert.Equal("ProductName", errors[0].SourceMemberNames.Single()); Assert.Equal("The ProductName field is required.", errors[0].Message); // validation rule coming from buddy class Assert.Equal("UnitPrice", errors[1].SourceMemberNames.Single()); Assert.Equal("The field UnitPrice must be between 0 and 1000000.", errors[1].Message); // errors for the updated product errors = changeSet[1].ValidationErrors.ToArray(); Assert.Equal(1, errors.Length); Assert.True(changeSet[1].HasError); // validation rule inferred from EF model Assert.Equal("ProductName", errors[0].SourceMemberNames.Single()); Assert.Equal("The field ProductName must be a string with a maximum length of 40.", errors[0].Message); }
public void Submit_Validation_Failure() { Microsoft.Web.Http.Data.Test.Models.EF.Product newProduct = new Microsoft.Web.Http.Data.Test.Models.EF.Product { ProductID = 1, ProductName = String.Empty, UnitPrice = -1 }; Microsoft.Web.Http.Data.Test.Models.EF.Product updateProduct = new Microsoft.Web.Http.Data.Test.Models.EF.Product { ProductID = 1, ProductName = new string('x', 50), UnitPrice = 55.77M }; ChangeSetEntry[] changeSet = new ChangeSetEntry[] { new ChangeSetEntry { Id = 1, Entity = newProduct, Operation = ChangeOperation.Insert }, new ChangeSetEntry { Id = 2, Entity = updateProduct, Operation = ChangeOperation.Update } }; HttpResponseMessage response = this.ExecuteSelfHostRequest("http://testhost/NorthwindEFTest/Submit", "NorthwindEFTest", changeSet); changeSet = response.Content.ReadAsAsync <ChangeSetEntry[]>().Result; // errors for the new product ValidationResultInfo[] errors = changeSet[0].ValidationErrors.ToArray(); Assert.Equal(2, errors.Length); Assert.True(changeSet[0].HasError); // validation rule inferred from EF model Assert.Equal("ProductName", errors[0].SourceMemberNames.Single()); Assert.Equal("The ProductName field is required.", errors[0].Message); // validation rule coming from buddy class Assert.Equal("UnitPrice", errors[1].SourceMemberNames.Single()); Assert.Equal("The field UnitPrice must be between 0 and 1000000.", errors[1].Message); // errors for the updated product errors = changeSet[1].ValidationErrors.ToArray(); Assert.Equal(1, errors.Length); Assert.True(changeSet[1].HasError); // validation rule inferred from EF model Assert.Equal("ProductName", errors[0].SourceMemberNames.Single()); Assert.Equal("The field ProductName must be a string with a maximum length of 40.", errors[0].Message); }
public void UpdateProduct(Microsoft.Web.Http.Data.Test.Models.EF.Product product) { }