示例#1
0
        public async Task InvokeOperation_ServerValidationException()
        {
            TestProvider_Scenarios   provider                       = ServerTestHelper.CreateInitializedDomainService <TestProvider_Scenarios>(DomainOperationType.Invoke);
            DomainServiceDescription serviceDescription             = DomainServiceDescription.GetDescription(typeof(TestProvider_Scenarios));
            DomainOperationEntry     throwValidationExceptionMethod = serviceDescription.GetInvokeOperation("ThrowValidationException");

            Assert.IsNotNull(throwValidationExceptionMethod);

            var invokeResult = await provider.InvokeAsync(new InvokeDescription(throwValidationExceptionMethod, Array.Empty <object>()), CancellationToken.None);

            Assert.IsNull(invokeResult.Result);
            Assert.IsNotNull(invokeResult.ValidationErrors);
            Assert.AreEqual(1, invokeResult.ValidationErrors.Count);
            Assert.AreEqual("Validation error.", invokeResult.ValidationErrors.ElementAt(0).ErrorMessage);
        }
示例#2
0
        public async Task InvokeOperation_ServerValidationError()
        {
            TestProvider_Scenarios   provider                  = ServerTestHelper.CreateInitializedDomainService <TestProvider_Scenarios>(DomainOperationType.Invoke);
            DomainServiceDescription serviceDescription        = DomainServiceDescription.GetDescription(typeof(TestProvider_Scenarios));
            DomainOperationEntry     incrementBid1ForAByMethod = serviceDescription.GetInvokeOperation("IncrementBid1ForABy");

            Assert.IsNotNull(incrementBid1ForAByMethod);

            TestDomainServices.A inputA = new TestDomainServices.A()
            {
                BID1 = 1
            };
            var invokeResult = await provider.InvokeAsync(new InvokeDescription(incrementBid1ForAByMethod, new object[] { inputA, 2 }), CancellationToken.None);

            Assert.IsNull(invokeResult.Result);
            Assert.IsNotNull(invokeResult.ValidationErrors);
            Assert.AreEqual(2, invokeResult.ValidationErrors.Count);
            Assert.AreEqual("The field delta must be between 5 and 10.", invokeResult.ValidationErrors.ElementAt(0).ErrorMessage);
            Assert.AreEqual("The RequiredString field is required.", invokeResult.ValidationErrors.ElementAt(1).ErrorMessage);
        }