You need to sign in to do that
Don't have an account?
Thanigai Kumaran Balaji
Test coverage is only 45% even when the conditions are satisfied for the below class
Below is my apex class even after trying to cover all the conditions i am getting only 45% of test coverage.
@RestResource(urlMapping='/v1/UpdateFWAReferralCode/*') global class FWAReferralCode { @HttpPost global static Void Updatecode(Integer updatelimit){ RestResponse res = RestContext.response; if (res == null) { res = new RestResponse(); RestContext.response = res; } List<Account> accid = [SELECT Id, (Select id,name from assets where name = :label.BasePlanName or name =:label.PlusPlanName) FROM Account WHERE Network__c = 'CORE' AND vlocity_cmt__Status__c = 'Active' AND Customer_Group__c != 'Free Trial' AND ID IN (Select Accountid from asset where name = :label.BasePlanName or name =:label.PlusPlanName) AND Id NOT IN (SELECT Account__c FROM FWA_Referral_Code__c WHERE Account__c != null) LIMIT :updatelimit]; //List<FWA_Referral_Code__c> FWAcode = [select ID,Plan__c,Mapped_Timestamp__c,Account__c from FWA_Referral_Code__c where Account__c = NULL limit :updatelimit]; if(accid.size() >0) { system.debug(accid.size()); } List<FWA_Referral_Code__c> FWAupdate = new List<FWA_Referral_Code__c>(); List<ID> Responselist = new List<ID>(); List<FWA_Referral_Code__c> FWAResponse = new List<FWA_Referral_Code__c>(); try{ for(Account ac: accid) { FWA_Referral_Code__c fwa= [select ID,Plan__c,Mapped_Timestamp__c,Account__c from FWA_Referral_Code__c where Account__c = NULL limit 1] ; Responselist.add(fwa.id); fwa.account__c = ac.id; fwa.Mapped_Timestamp__c = DateTime.Now(); if(ac.assets[0].name == label.BasePlanName) { fwa.Plan__c = label.BasePlanName; system.debug(fwa.Plan__c); } else if (ac.assets[0].name == label.PlusPlanName) { fwa.Plan__c = label.PlusPlanName; system.debug(fwa.Plan__c); } FWAupdate.add(fwa); update FWAupdate; system.debug(FWAupdate); } for(FWA_Referral_Code__c resp: [select ID,Account__c from FWA_Referral_Code__c where Id =:Responselist]) { FWAResponse.add(resp); } if(FWAResponse.size()>0){ res.responseBody = Blob.valueOf(Json.serialize(FWAResponse)); system.debug(res.responseBody); res.addHeader(Label.label_Content_Type, Label.label_application_json); res.statusCode = 200; system.debug(res.statusCode); return; } } catch (Exception e) { System.debug('Error: ' + e.getMessage()); } } }
my test class:
@isTest Public class FWAReferralCodeTest{ Public static testMethod void FWAReferralTest(){ FWA_Referral_Code__c fwa = new FWA_Referral_Code__c(name = 'testing' ); Account ac= new Account(Name= 'Thanigai testfwa', vlocity_cmt__Status__c = 'Active', Network__c = 'CORE',ServiceSharingType__c = 'Group',Customer_Group__c = 'Test' ); Asset ass = new asset(name = 'visible+ plan', Accountid = ac.Id); insert fwa; insert ass; insert ac; FWA_Referral_Code__c fwa1 = new FWA_Referral_Code__c(name = 'testing1' ); Account ac1= new Account(Name= 'Thanigai fwa', vlocity_cmt__Status__c = 'Active', Network__c = 'CORE',ServiceSharingType__c = 'Group',Customer_Group__c = 'Test' ); Asset ass1 = new asset(name = 'visible plan', Accountid = ac.Id); insert ass1; insert fwa1; insert ac1; FWA_Referral_Code__c fw = new FWA_Referral_Code__c(Account__c = ac1.id,Mapped_Timestamp__c = DateTime.Now(),Plan__c =label.BasePlanName ); FWA_Referral_Code__c fw1 = new FWA_Referral_Code__c(Account__c = ac.id,Mapped_Timestamp__c = DateTime.Now(),Plan__c =label.PlusPlanName ); insert fw; insert fw1; Test.startTest(); FWAReferralCode.Updatecode(1); Test.stopTest(); } }
@RestResource(urlMapping='/v1/UpdateFWAReferralCode/*') global class FWAReferralCode { @HttpPost global static Void Updatecode(Integer updatelimit){ RestResponse res = RestContext.response; if (res == null) { res = new RestResponse(); RestContext.response = res; } List<Account> accid = [SELECT Id, (Select id,name from assets where name = :label.BasePlanName or name =:label.PlusPlanName) FROM Account WHERE Network__c = 'CORE' AND vlocity_cmt__Status__c = 'Active' AND Customer_Group__c != 'Free Trial' AND ID IN (Select Accountid from asset where name = :label.BasePlanName or name =:label.PlusPlanName) AND Id NOT IN (SELECT Account__c FROM FWA_Referral_Code__c WHERE Account__c != null) LIMIT :updatelimit]; //List<FWA_Referral_Code__c> FWAcode = [select ID,Plan__c,Mapped_Timestamp__c,Account__c from FWA_Referral_Code__c where Account__c = NULL limit :updatelimit]; if(accid.size() >0) { system.debug(accid.size()); } List<FWA_Referral_Code__c> FWAupdate = new List<FWA_Referral_Code__c>(); List<ID> Responselist = new List<ID>(); List<FWA_Referral_Code__c> FWAResponse = new List<FWA_Referral_Code__c>(); try{ for(Account ac: accid) { FWA_Referral_Code__c fwa= [select ID,Plan__c,Mapped_Timestamp__c,Account__c from FWA_Referral_Code__c where Account__c = NULL limit 1] ; Responselist.add(fwa.id); fwa.account__c = ac.id; fwa.Mapped_Timestamp__c = DateTime.Now(); if(ac.assets[0].name == label.BasePlanName) { fwa.Plan__c = label.BasePlanName; system.debug(fwa.Plan__c); } else if (ac.assets[0].name == label.PlusPlanName) { fwa.Plan__c = label.PlusPlanName; system.debug(fwa.Plan__c); } FWAupdate.add(fwa); update FWAupdate; system.debug(FWAupdate); } for(FWA_Referral_Code__c resp: [select ID,Account__c from FWA_Referral_Code__c where Id =:Responselist]) { FWAResponse.add(resp); } if(FWAResponse.size()>0){ res.responseBody = Blob.valueOf(Json.serialize(FWAResponse)); system.debug(res.responseBody); res.addHeader(Label.label_Content_Type, Label.label_application_json); res.statusCode = 200; system.debug(res.statusCode); return; } } catch (Exception e) { System.debug('Error: ' + e.getMessage()); } } }
my test class:
@isTest Public class FWAReferralCodeTest{ Public static testMethod void FWAReferralTest(){ FWA_Referral_Code__c fwa = new FWA_Referral_Code__c(name = 'testing' ); Account ac= new Account(Name= 'Thanigai testfwa', vlocity_cmt__Status__c = 'Active', Network__c = 'CORE',ServiceSharingType__c = 'Group',Customer_Group__c = 'Test' ); Asset ass = new asset(name = 'visible+ plan', Accountid = ac.Id); insert fwa; insert ass; insert ac; FWA_Referral_Code__c fwa1 = new FWA_Referral_Code__c(name = 'testing1' ); Account ac1= new Account(Name= 'Thanigai fwa', vlocity_cmt__Status__c = 'Active', Network__c = 'CORE',ServiceSharingType__c = 'Group',Customer_Group__c = 'Test' ); Asset ass1 = new asset(name = 'visible plan', Accountid = ac.Id); insert ass1; insert fwa1; insert ac1; FWA_Referral_Code__c fw = new FWA_Referral_Code__c(Account__c = ac1.id,Mapped_Timestamp__c = DateTime.Now(),Plan__c =label.BasePlanName ); FWA_Referral_Code__c fw1 = new FWA_Referral_Code__c(Account__c = ac.id,Mapped_Timestamp__c = DateTime.Now(),Plan__c =label.PlusPlanName ); insert fw; insert fw1; Test.startTest(); FWAReferralCode.Updatecode(1); Test.stopTest(); } }
my apex class:
@RestResource(urlMapping = '/v1/UpdateFWAReferralCode/*')
global class FWAReferralCode {
@HttpPost
global static Void Updatecode(Integer updatelimit) {
RestResponse res = RestContext.response;
if (res == null) {
res = new RestResponse();
RestContext.response = res;
}
List < Account > accid = [SELECT Id, (Select id, name from assets where name = : label.BasePlanName or name = : label.PlusPlanName) FROM Account WHERE Network__c = 'CORE'
AND vlocity_cmt__Status__c = 'Active'
AND Customer_Group__c != 'Free Trial'
AND ID IN(Select Accountid from asset where name = : label.BasePlanName or name = : label.PlusPlanName) AND Id NOT IN(SELECT Account__c FROM FWA_Referral_Code__c WHERE Account__c != null) LIMIT: updatelimit];
//List<FWA_Referral_Code__c> FWAcode = [select ID,Plan__c,Mapped_Timestamp__c,Account__c from FWA_Referral_Code__c where Account__c = NULL limit :updatelimit];
if (accid.size() > 0) {
system.debug(accid.size());
}
List < FWA_Referral_Code__c > FWAupdate = new List < FWA_Referral_Code__c > ();
List < ID > Responselist = new List < ID > ();
List < FWA_Referral_Code__c > FWAResponse = new List < FWA_Referral_Code__c > ();
try {
for (Account ac: accid) {
FWA_Referral_Code__c fwa = [select ID, Plan__c, Mapped_Timestamp__c, Account__c from FWA_Referral_Code__c where Account__c = NULL limit 1];
Responselist.add(fwa.id);
fwa.account__c = ac.id;
fwa.Mapped_Timestamp__c = DateTime.Now();
if (ac.assets[0].name == label.BasePlanName) {
fwa.Plan__c = label.BasePlanName;
system.debug(fwa.Plan__c);
} else if (ac.assets[0].name == label.PlusPlanName) {
fwa.Plan__c = label.PlusPlanName;
system.debug(fwa.Plan__c);
}
FWAupdate.add(fwa);
update FWAupdate;
system.debug(FWAupdate);
}
for (FWA_Referral_Code__c resp: [select ID, Account__c from FWA_Referral_Code__c where Id = : Responselist]) {
FWAResponse.add(resp);
}
if (FWAResponse.size() > 0) {
res.responseBody = Blob.valueOf(Json.serialize(FWAResponse));
system.debug(res.responseBody);
res.addHeader(Label.label_Content_Type, Label.label_application_json);
res.statusCode = 200;
system.debug(res.statusCode);
return;
}
} catch (Exception e) {
System.debug('Error: ' + e.getMessage());
}
}
}
Test class:
@isTest
Public class FWAReferralCodeTest {
Public static testMethod void FWAReferralTest() {
FWA_Referral_Code__c fwa = new FWA_Referral_Code__c(name = 'testing');
Account ac = new Account(Name = 'Thanigai testfwa', vlocity_cmt__Status__c = 'Active', Network__c = 'CORE', ServiceSharingType__c = 'Group', Customer_Group__c = 'Test');
Asset ass = new asset(name = 'visible+ plan', Accountid = ac.Id);
insert fwa;
insert ass;
insert ac;
FWA_Referral_Code__c fwa1 = new FWA_Referral_Code__c(name = 'testing1');
Account ac1 = new Account(Name = 'Thanigai fwa', vlocity_cmt__Status__c = 'Active', Network__c = 'CORE', ServiceSharingType__c = 'Group', Customer_Group__c = 'Test');
Asset ass1 = new asset(name = 'visible plan', Accountid = ac.Id);
insert ass1;
insert fwa1;
insert ac1;
FWA_Referral_Code__c fw = new FWA_Referral_Code__c(Account__c = ac1.id, Mapped_Timestamp__c = DateTime.Now(), Plan__c = label.BasePlanName);
FWA_Referral_Code__c fw1 = new FWA_Referral_Code__c(Account__c = ac.id, Mapped_Timestamp__c = DateTime.Now(), Plan__c = label.PlusPlanName);
insert fw;
insert fw1;
Test.startTest();
FWAReferralCode.Updatecode(1);
Test.stopTest();
}
}