public void Invoke_ValidationErrors() { var mockDomainClient = new CitiesMockDomainClient(); ValidationResult[] validationErrors = new ValidationResult[] { new ValidationResult("Foo", new string[] { "Bar" }) }; mockDomainClient.InvokeCompletedResult = Task.FromResult(new InvokeCompletedResult(null, validationErrors)); Cities.CityDomainContext ctx = new Cities.CityDomainContext(mockDomainClient); string myState = "Test User State"; InvokeOperation invoke = ctx.Echo("TestInvoke", TestHelperMethods.DefaultOperationAction, myState); this.EnqueueCompletion(() => invoke); EnqueueCallback(delegate { Assert.IsNotNull(invoke.Error); Assert.AreSame(myState, invoke.UserState); CollectionAssert.AreEqual(validationErrors, (ICollection)invoke.ValidationErrors); // verify the exception properties var ex = (DomainOperationException)invoke.Error; Assert.AreEqual(OperationErrorStatus.ValidationFailed, ex.Status); CollectionAssert.AreEqual(validationErrors, (ICollection)ex.ValidationErrors); Assert.AreEqual(string.Format(Resource.DomainContext_InvokeOperationFailed_Validation, "Echo"), ex.Message); }); EnqueueTestComplete(); }
public void Invoke() { Cities.CityDomainContext ctx = new Cities.CityDomainContext(new CitiesMockDomainClient()); string myState = "Test User State"; InvokeOperation invoke = ctx.Echo("TestInvoke", TestHelperMethods.DefaultOperationAction, myState); this.EnqueueCompletion(() => invoke); EnqueueCallback(delegate { Assert.IsNull(invoke.Error); Assert.AreSame(myState, invoke.UserState); Assert.AreEqual("Echo: TestInvoke", invoke.Value); }); EnqueueTestComplete(); }