public void CloseIncidentTest() { 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 <CloseIncidentRequest>(p => p.IncidentResolution is Entity && ((Entity)p.IncidentResolution).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new CloseIncidentResponse()); Dictionary <string, CdsDataTypeWrapper> inboundData = new Dictionary <string, CdsDataTypeWrapper>(); inboundData.Add("name", new CdsDataTypeWrapper("MyName", CdsFieldType.String)); Guid rslt = cli.CloseIncident(testSupport._DefaultId, inboundData, incidentStatusCode: 5); Assert.IsType <Guid>(rslt); Assert.NotEqual <Guid>(Guid.Empty, rslt); rslt = cli.CloseIncident(Guid.Empty, inboundData, incidentStatusCode: 4); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); rslt = cli.CloseIncident(testSupport._DefaultId, inboundData, incidentStatusCode: 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.CloseIncident(testSupport._DefaultId, inboundData, incidentStatusCode: 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.CloseIncident(testSupport._DefaultId, inboundData, incidentStatusCode: 4, batchId: batchid); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); // Release batch request cli.ReleaseBatchInfoById(batchid); }