You need to sign in to do that
Don't have an account?
Help me in Code Coverage of webservice test class
Hello, i want test class for the below Apex Webservice Class:
Global Class AgileClient{
public AgileClient(ApexPages.StandardController controller) {
}
webservice static void SyncClient()
{
String currentRecordId;
currentRecordId = ApexPages.CurrentPage().getparameters().get('id');
Account a = [SELECT Id,Name,Client_City__c,Payroll_Contact__c,client_Id__c, Client_Address__C,Client_Zip__c ,Primary_Contact__c,Primary_Contact_Text__c,Primary_Contact__r.Phone,Primary_Contact__r.Email,Payroll_Contact_Text__c,Phone__c,Client_State__c , Contact_Name__c, Phone,(select Name, Email from contacts),(select Name from location__r) from Account where id =: currentRecordId] ;
//if(a.client_Id__c != null){
//ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Already Synced with Agile'));
//}
//else{
JSONGenerator gen = JSON.createGenerator(true);
gen.writeStartObject();
createJsonRequest.writeStringField(gen, 'name', a.name);
createJsonRequest.writeStringField(gen, 'city',a.Client_City__c);
createJsonRequest.writeStringField(gen, 'address_line_1',a.Client_Address__C);
createJsonRequest.writeStringField(gen, 'state_code',a.Client_State__c);
createJsonRequest.writeStringField(gen, 'zip_code',a.Client_Zip__c );
createJsonRequest.writeStringField(gen, 'sf_id',a.Id);
gen.writeFieldName('primary_contact_attributes');
gen.writeStartObject();
createJsonRequest.writeStringField(gen, 'name', a.Primary_Contact_Text__c);
createJsonRequest.writeStringField(gen, 'email', a.Primary_Contact__r.Email);
createJsonRequest.writeStringField(gen, 'phone', a.Primary_Contact__r.Phone);
gen.writeEndObject();
gen.writeFieldName('payroll_contact_attributes');
gen.writeStartObject();
createJsonRequest.writeStringField(gen, 'name', a.Payroll_Contact_Text__c);
createJsonRequest.writeStringField(gen, 'phone', a.Phone__c);
gen.writeEndObject();
String jsonS = gen.getAsString();
System.debug('Client Data'+jsonS);
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('https://api-qa.retrotax-aci.com/clients');
request.setMethod('POST');
request.setHeader('X-AUTH-TOKEN','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
request.setHeader('X-API-KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
request.setHeader('Content-Type', 'application/json;charset=UTF-8');
// Set the body as a JSON object
request.setBody(jsonS );
HttpResponse response = http.send(request);
// Parse the JSON response
if (response.getStatusCode() == 200) {
try {
Account result = (Account)JSON.deserialize(response.getBody(), Account.class);
a.client_Id__c = String.valueOf(result.id);
Update a;
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.CONFIRM,'Client Created Successfully'));
} catch(DmlException e) {
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage()));
}
//System.debug('Account:'+result.id);
// System.debug('Client Created Successfully: ' +
// response.getStatusCode() + ' ' + response.getBody());
} else {
System.debug('Unable to create Client: ' +
response.getStatusCode() + ' ' + response.getBody());
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, response.getBody()));
}
//}
}
}
Global Class AgileClient{
public AgileClient(ApexPages.StandardController controller) {
}
webservice static void SyncClient()
{
String currentRecordId;
currentRecordId = ApexPages.CurrentPage().getparameters().get('id');
Account a = [SELECT Id,Name,Client_City__c,Payroll_Contact__c,client_Id__c, Client_Address__C,Client_Zip__c ,Primary_Contact__c,Primary_Contact_Text__c,Primary_Contact__r.Phone,Primary_Contact__r.Email,Payroll_Contact_Text__c,Phone__c,Client_State__c , Contact_Name__c, Phone,(select Name, Email from contacts),(select Name from location__r) from Account where id =: currentRecordId] ;
//if(a.client_Id__c != null){
//ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, 'Already Synced with Agile'));
//}
//else{
JSONGenerator gen = JSON.createGenerator(true);
gen.writeStartObject();
createJsonRequest.writeStringField(gen, 'name', a.name);
createJsonRequest.writeStringField(gen, 'city',a.Client_City__c);
createJsonRequest.writeStringField(gen, 'address_line_1',a.Client_Address__C);
createJsonRequest.writeStringField(gen, 'state_code',a.Client_State__c);
createJsonRequest.writeStringField(gen, 'zip_code',a.Client_Zip__c );
createJsonRequest.writeStringField(gen, 'sf_id',a.Id);
gen.writeFieldName('primary_contact_attributes');
gen.writeStartObject();
createJsonRequest.writeStringField(gen, 'name', a.Primary_Contact_Text__c);
createJsonRequest.writeStringField(gen, 'email', a.Primary_Contact__r.Email);
createJsonRequest.writeStringField(gen, 'phone', a.Primary_Contact__r.Phone);
gen.writeEndObject();
gen.writeFieldName('payroll_contact_attributes');
gen.writeStartObject();
createJsonRequest.writeStringField(gen, 'name', a.Payroll_Contact_Text__c);
createJsonRequest.writeStringField(gen, 'phone', a.Phone__c);
gen.writeEndObject();
String jsonS = gen.getAsString();
System.debug('Client Data'+jsonS);
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('https://api-qa.retrotax-aci.com/clients');
request.setMethod('POST');
request.setHeader('X-AUTH-TOKEN','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
request.setHeader('X-API-KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
request.setHeader('Content-Type', 'application/json;charset=UTF-8');
// Set the body as a JSON object
request.setBody(jsonS );
HttpResponse response = http.send(request);
// Parse the JSON response
if (response.getStatusCode() == 200) {
try {
Account result = (Account)JSON.deserialize(response.getBody(), Account.class);
a.client_Id__c = String.valueOf(result.id);
Update a;
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.CONFIRM,'Client Created Successfully'));
} catch(DmlException e) {
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getMessage()));
}
//System.debug('Account:'+result.id);
// System.debug('Client Created Successfully: ' +
// response.getStatusCode() + ' ' + response.getBody());
} else {
System.debug('Unable to create Client: ' +
response.getStatusCode() + ' ' + response.getBody());
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, response.getBody()));
}
//}
}
}
Use this

Hi Raj Vakati, you are the most API brilliant here.. can you help me with my question here, please? https://developer.salesforce.com/forums?id=9062I000000IGicQAG
CLose this thread if its solved