public void CloseTroubleTicketTest() { 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>("subject").Equals("Subject", StringComparison.OrdinalIgnoreCase)))).Returns(new CloseIncidentResponse()); Guid rslt = cli.CloseTroubleTicket(testSupport._DefaultId, "Subject", "Description"); Assert.IsType <Guid>(rslt); Assert.NotEqual <Guid>(Guid.Empty, rslt); rslt = cli.CloseTroubleTicket(Guid.Empty, "Subject", "Description"); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); // try with batch // Setup a batch string BatchRequestName = "TestBatch"; Guid batchid = cli.CreateBatchOperationRequest(BatchRequestName); rslt = cli.CloseTroubleTicket(testSupport._DefaultId, "Subject", "Description", batchId: batchid); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); // Release batch request cli.ReleaseBatchInfoById(batchid); }
public void CloseOpportunityTest() { 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 <WinOpportunityRequest>(p => p.OpportunityClose is Entity && ((Entity)p.OpportunityClose).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new WinOpportunityResponse()); orgSvc.Setup(f => f.Execute(It.Is <LoseOpportunityRequest>(p => p.OpportunityClose is Entity && ((Entity)p.OpportunityClose).GetAttributeValue <string>("name").Equals("MyName", StringComparison.OrdinalIgnoreCase)))).Returns(new LoseOpportunityResponse()); Dictionary <string, CdsDataTypeWrapper> inboundData = new Dictionary <string, CdsDataTypeWrapper>(); inboundData.Add("name", new CdsDataTypeWrapper("MyName", CdsFieldType.String)); Guid rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 3); Assert.IsType <Guid>(rslt); Assert.NotEqual <Guid>(Guid.Empty, rslt); rslt = cli.CloseOpportunity(Guid.Empty, inboundData, opportunityStatusCode: 4); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 2); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); rslt = cli.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 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.CloseOpportunity(testSupport._DefaultId, inboundData, opportunityStatusCode: 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.CloseQuote(testSupport._DefaultId, inboundData, quoteStatusCode: 4, batchId: batchid); Assert.IsType <Guid>(rslt); Assert.Equal <Guid>(Guid.Empty, rslt); // Release batch request cli.ReleaseBatchInfoById(batchid); }
public void BatchTest() { Mock <IOrganizationService> orgSvc = null; Mock <MoqHttpMessagehander> fakHttpMethodHander = null; CdsServiceClient cli = null; testSupport.SetupMockAndSupport(out orgSvc, out fakHttpMethodHander, out cli); CreateResponse createResponse = new CreateResponse(); createResponse.Results = new ParameterCollection(); createResponse.Results.Add("annotationid", testSupport._DefaultId); ExecuteMultipleResponseItem responseItem = new ExecuteMultipleResponseItem(); responseItem.Response = createResponse; responseItem.RequestIndex = 0; ExecuteMultipleResponseItemCollection responseItems = new ExecuteMultipleResponseItemCollection(); responseItems.Add(responseItem); ExecuteMultipleResponse executeMultipleResponse = new ExecuteMultipleResponse(); executeMultipleResponse.Results = new ParameterCollection(); executeMultipleResponse.Results.Add("Responses", responseItems); orgSvc.Setup(req1 => req1.Execute(It.IsAny <ExecuteMultipleRequest>())).Returns(executeMultipleResponse); // Setup a batch string BatchRequestName = "TestBatch"; Guid batchid = cli.CreateBatchOperationRequest(BatchRequestName); // use create operation to setup request Dictionary <string, CdsDataTypeWrapper> newFields = new Dictionary <string, CdsDataTypeWrapper>(); newFields.Add("name", new CdsDataTypeWrapper("CrudTestAccount", CdsFieldType.String)); newFields.Add("accountnumber", new CdsDataTypeWrapper("12345", CdsFieldType.String)); newFields.Add("telephone1", new CdsDataTypeWrapper("555-555-5555", CdsFieldType.String)); newFields.Add("donotpostalmail", new CdsDataTypeWrapper(true, CdsFieldType.Boolean)); // issue request as a batch: Guid result = cli.CreateAnnotation("account", testSupport._DefaultId, newFields, batchid); Assert.Equal <Guid>(Guid.Empty, result); OrganizationRequest req = cli.GetBatchRequestAtPosition(batchid, 0); // Executes the batch request. cli.ExecuteBatch(batchid); // Request Batch by name Guid OperationId = cli.GetBatchOperationIdRequestByName(BatchRequestName); // Request batch back RequestBatch reqBatch = cli.GetBatchById(batchid); Assert.NotNull(reqBatch); Assert.Equal(BatchRequestName, reqBatch.BatchName); Assert.True(reqBatch.BatchItems.Count == 1); // Release batch request cli.ReleaseBatchInfoById(batchid); }