public void CancelSalesOrderTest() { Mock <IOrganizationService> orgSvc = null; Mock <MoqHttpMessagehander> fakHttpMethodHander = null; CdsServiceClient cli = null; testSupport.SetupMockAndSupport(out orgSvc, out fakHttpMethodHander, out cli); orgSvc.Setup(f => f.Execute(It.Is <CancelSalesOrderRequest>(p => p.OrderClose is Entity && ((Entity)p.OrderClose).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new CancelSalesOrderResponse()); Dictionary <string, CdsDataTypeWrapper> inboundData = new Dictionary <string, CdsDataTypeWrapper>(); inboundData.Add("name", new CdsDataTypeWrapper("MyName", CdsFieldType.String)); Guid rslt = cli.CancelSalesOrder(Guid.Empty, inboundData, orderStatusCode: 5); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 2); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 5); Assert.IsType <Guid>(rslt); Assert.NotEqual <Guid>(Guid.Empty, rslt); rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 4); Assert.IsType <Guid>(rslt); Assert.NotEqual <Guid>(Guid.Empty, rslt); // Test with projected Activity ID inboundData.Add("activityid", new CdsDataTypeWrapper(testSupport._DefaultId, CdsFieldType.Key)); rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 4); Assert.IsType <Guid>(rslt); Assert.NotEqual <Guid>(Guid.Empty, rslt); Assert.Equal <Guid>(testSupport._DefaultId, rslt); // try with batch // Setup a batch string BatchRequestName = "TestBatch"; Guid batchid = cli.CreateBatchOperationRequest(BatchRequestName); rslt = cli.CancelSalesOrder(testSupport._DefaultId, inboundData, orderStatusCode: 4, batchId: batchid); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); // Release batch request cli.ReleaseBatchInfoById(batchid); }