You need to sign in to do that
Don't have an account?

how to cover test class for below code
Class:
public static void CountOpentask(list<BMCServiceDesk__Task__c> tsklist)
{
if( !isexecutedInc){
List<BMCServiceDesk__Incident__c> listIncidents = new List<BMCServiceDesk__Incident__c>();
Set<Id> setIncidentIds = new Set<Id>();
// Set<Id> setIncidentIds1 = new Set<Id>();
Set<Id> tskIncidentIds = new Set<Id>();
Set<Id> tskIncidentIds1 = new Set<Id>();
for(BMCServiceDesk__Task__c Inctsk:tsklist) {
if(Inctsk.BMCServiceDesk__FKIncident__c != null){
setIncidentIds.add(Inctsk.BMCServiceDesk__FKIncident__c);
}
}
AggregateResult[] groupedResults = [SELECT COUNT(Id), BMCServiceDesk__FKIncident__c FROM BMCServiceDesk__Task__c where ((BMCServiceDesk__FKIncident__c IN :setIncidentIds) AND (BMCServiceDesk__FKStatus__r.name != 'CLOSED'AND BMCServiceDesk__FKStatus__r.name != 'RESOLVED')) GROUP BY BMCServiceDesk__FKIncident__c ];
AggregateResult[] groupedResults1 = [SELECT COUNT(Id), SUM(BMCServiceDesk__Total_Duration__c), BMCServiceDesk__FKIncident__c FROM BMCServiceDesk__Task__c where ((BMCServiceDesk__FKIncident__c IN :setIncidentIds)) GROUP BY BMCServiceDesk__FKIncident__c ];
map<id,BMCServiceDesk__Incident__c > incmap= new map<id,BMCServiceDesk__Incident__c >();
if(groupedResults.size() >0){
for(AggregateResult ar:groupedResults) {
Id custid = (ID)ar.get('BMCServiceDesk__FKIncident__c');
System.debug('$$$$$$$$$$$$$$$$$$$$$ custid :' + custid);
Integer count = (INTEGER)ar.get('expr0');
tskIncidentIds.add(custid);
System.debug('$$$$$ :'+ count);
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=custid);
incident.Open_task__c = count;
incmap.put(custid,incident);
}
}
for(id incId:setIncidentIds){
if(!tskIncidentIds.contains(incId)){
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=incId);
incident.Open_task__c = 0;
incmap.put(incid ,incident);
}
}
if(groupedResults1.size() >0){
for(AggregateResult ar:groupedResults1) {
Id custid = (ID)ar.get('BMCServiceDesk__FKIncident__c');
System.debug('$$$$$$$$$$$$$$$$$$$$$ custid :' + custid);
Integer count = (INTEGER)ar.get('expr0');
Decimal sumofmin= (Decimal )ar.get('expr1');
tskIncidentIds1.add(custid);
if(incmap.containskey(custid)){
BMCServiceDesk__Incident__c incident = incmap.get(custId);
incident.Linked_Tasks__c=count;
incident.Tasks_Duration_Minutes__c = sumofmin;
incmap.put(custid,incident);
}else{
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=custid);
incident.Tasks_Duration_Minutes__c = sumofmin;
incident.Linked_Tasks__c=count;
incmap.put(custid,incident);
}
}
}
for(id incId:setIncidentIds){
if(!tskIncidentIds1.contains(incId)){
if(incmap.containskey(incId)){
BMCServiceDesk__Incident__c incident = incmap.get(incId);
incident.Linked_Tasks__c=0;
incident.Tasks_Duration_Minutes__c=0;
incmap.put(incid ,incident);
}
else{
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=incId);
incident.Linked_Tasks__c= 0;
incident.Tasks_Duration_Minutes__c=0;
incmap.put(incid ,incident);
}
}
}
isexecutedInc =true;
update incmap.values();
}
Test Class
static testmethod void Taskcounttest(){
Test.startTest();
Profile prof = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User usr = new User(Alias = 'testuser1', Email='testuser1@test.com',
EmailEncodingKey='UTF-8', LastName='TestName1', LanguageLocaleKey='en_US', LocaleSidKey='en_US', ProfileId = prof.Id,TimeZoneSidKey='America/Los_Angeles', UserName='testuser1@testuser.com');
DisableCustomTriggers__c cust = new DisableCustomTriggers__c();
cust.name ='CountTasksForIncident';
cust.DisableTrigger__c = TRUE;
insert cust;
BMCServiceDesk__Category__c catg= new BMCServiceDesk__Category__c(Name = 'Test Emails'+ system.now(),BMCServiceDesk__AvailableForIncidents__c =true,BMCServiceDesk__Inactive__c=false,BMCServiceDesk__UnAvailableForTasks__c= false,BMCServiceDesk__AvailableForServiceCatalog__c=true,BMCServiceDesk__Display_In_SelfService__c=true);
insert catg;
system.debug('catg' + catg);
BMCServiceDesk__BMC_BaseElement__c serv = new BMCServiceDesk__BMC_BaseElement__c();
serv.Name ='Fraedom';
serv.BMCServiceDesk__Name__c='Fraedom';
insert serv;
system.debug('serv' + serv);
BMCServiceDesk__Impact__c impct = new BMCServiceDesk__Impact__c();
impct.Name='low';
insert impct;
system.debug('impct' + impct);
BMCServiceDesk__Urgency__c urgc= new BMCServiceDesk__Urgency__c();
urgc.Name='low';
insert urgc;
system.debug('urgc' + urgc);
BMCServiceDesk__Status__c stat= new BMCServiceDesk__Status__c(Name='OPENED'+System.now().getTime(),BMCServiceDesk__state__c= true,BMCServiceDesk__defaultStatus__c = true,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat;
system.debug('stat' + stat);
BMCServiceDesk__Status__c stat1= new BMCServiceDesk__Status__c(Name='CLOSED'+System.now().getTime(),BMCServiceDesk__state__c= false,BMCServiceDesk__defaultStatus__c = false,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat1;
system.debug('stat1' + stat1);
Account acct = new Account();
acct.Name='Test Account';
insert acct;
system.debug('acct' + acct);
BMCServiceDesk__Incident__c inc = new BMCServiceDesk__Incident__c();
inc.BMCServiceDesk__FKAccount__c =acct.id;
inc.BMCServiceDesk__FKBusinessService__c=serv.id;
system.debug('categoryId ' +'spmBMCTestforCatId ' + catg.id);
inc.BMCServiceDesk__FKCategory__c= catg.id;
inc.BMCServiceDesk__FKImpact__c=impct.id;
inc.BMCServiceDesk__FKUrgency__c=urgc.id;
system.debug('STATUS ' +'spmBMCTestforSTATUS ' + stat.id);
inc.BMCServiceDesk__FKStatus__c=stat.id;
insert inc;
inc.Tasks_Duration_Minutes__c =20;
inc.Open_task__c =1;
inc.Linked_Tasks__c=2;
update inc;
Test.stopTest();
}
static testmethod void Taskcounttest2(){
Test.startTest();
Profile prof = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User usr = new User(Alias = 'testuser1', Email='testuser1@test.com',
EmailEncodingKey='UTF-8', LastName='TestName1', LanguageLocaleKey='en_US', LocaleSidKey='en_US', ProfileId = prof.Id,TimeZoneSidKey='America/Los_Angeles', UserName='testuser1@testuser.com');
DisableCustomTriggers__c cust = new DisableCustomTriggers__c();
cust.name ='CountTasksForIncident';
cust.DisableTrigger__c = TRUE;
insert cust;
BMCServiceDesk__Category__c catg= new BMCServiceDesk__Category__c(Name = 'Test Emails'+ system.now(),BMCServiceDesk__AvailableForIncidents__c =true,BMCServiceDesk__Inactive__c=false,BMCServiceDesk__UnAvailableForTasks__c= false,BMCServiceDesk__AvailableForServiceCatalog__c=true,BMCServiceDesk__Display_In_SelfService__c=true);
insert catg;
system.debug('catg' + catg);
BMCServiceDesk__BMC_BaseElement__c serv = new BMCServiceDesk__BMC_BaseElement__c();
serv.Name ='Fraedom';
serv.BMCServiceDesk__Name__c='Fraedom';
insert serv;
system.debug('serv' + serv);
BMCServiceDesk__Impact__c impct = new BMCServiceDesk__Impact__c();
impct.Name='low';
insert impct;
system.debug('impct' + impct);
BMCServiceDesk__Urgency__c urgc= new BMCServiceDesk__Urgency__c();
urgc.Name='low';
insert urgc;
system.debug('urgc' + urgc);
BMCServiceDesk__Status__c stat= new BMCServiceDesk__Status__c(Name='OPENED'+System.now().getTime(),BMCServiceDesk__state__c= true,BMCServiceDesk__defaultStatus__c = true,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat;
system.debug('stat' + stat);
BMCServiceDesk__Status__c stat1= new BMCServiceDesk__Status__c(Name='CLOSED'+System.now().getTime(),BMCServiceDesk__state__c= false,BMCServiceDesk__defaultStatus__c = false,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat1;
system.debug('stat1' + stat1);
Account acct = new Account();
acct.Name='Test Account';
insert acct;
system.debug('acct' + acct);
BMCServiceDesk__Incident__c inc = new BMCServiceDesk__Incident__c();
inc.BMCServiceDesk__FKAccount__c =acct.id;
inc.BMCServiceDesk__FKBusinessService__c=serv.id;
system.debug('categoryId ' +'spmBMCTestforCatId ' + catg.id);
inc.BMCServiceDesk__FKCategory__c= catg.id;
inc.BMCServiceDesk__FKImpact__c=impct.id;
system.debug('STATUS ' +'spmBMCTestforSTATUS ' + stat.id);
inc.BMCServiceDesk__FKStatus__c=stat.id;
inc.BMCServiceDesk__FKUrgency__c=urgc.id;
// inc.Tasks_Duration_Minutes__c =20;
// inc.Open_task__c =1;
// inc.Linked_Tasks__c=2;
insert inc;
List<BMCServiceDesk__Task__c > lstTsk = new List<BMCServiceDesk__Task__c>();
BMCServiceDesk__Task__c tsk2 = new BMCServiceDesk__Task__c();
tsk2.BMCServiceDesk__FKClient__c =usr.id;
tsk2.BMCServiceDesk__FKCategory__c=catg.id;
tsk2.BMCServiceDesk__FKIncident__c =inc.id;
tsk2.BMCServiceDesk__FKStatus__c = stat.id;
tsk2.BMCServiceDesk__FKUrgency__c= urgc.id;
tsk2.BMCServiceDesk__FKImpact__c= impct.id;
inc.Linked_Tasks__c=tsk2.BMCServiceDesk__Total_Duration__c;
lstTsk.add(tsk2);
insert lstTsk;
tsk2.BMCServiceDesk__FKStatus__c = stat1.id;
update tsk2;
delete tsk2;
Test.stopTest();
}

public static void CountOpentask(list<BMCServiceDesk__Task__c> tsklist)
{
if( !isexecutedInc){
List<BMCServiceDesk__Incident__c> listIncidents = new List<BMCServiceDesk__Incident__c>();
Set<Id> setIncidentIds = new Set<Id>();
// Set<Id> setIncidentIds1 = new Set<Id>();
Set<Id> tskIncidentIds = new Set<Id>();
Set<Id> tskIncidentIds1 = new Set<Id>();
for(BMCServiceDesk__Task__c Inctsk:tsklist) {
if(Inctsk.BMCServiceDesk__FKIncident__c != null){
setIncidentIds.add(Inctsk.BMCServiceDesk__FKIncident__c);
}
}
AggregateResult[] groupedResults = [SELECT COUNT(Id), BMCServiceDesk__FKIncident__c FROM BMCServiceDesk__Task__c where ((BMCServiceDesk__FKIncident__c IN :setIncidentIds) AND (BMCServiceDesk__FKStatus__r.name != 'CLOSED'AND BMCServiceDesk__FKStatus__r.name != 'RESOLVED')) GROUP BY BMCServiceDesk__FKIncident__c ];
AggregateResult[] groupedResults1 = [SELECT COUNT(Id), SUM(BMCServiceDesk__Total_Duration__c), BMCServiceDesk__FKIncident__c FROM BMCServiceDesk__Task__c where ((BMCServiceDesk__FKIncident__c IN :setIncidentIds)) GROUP BY BMCServiceDesk__FKIncident__c ];
map<id,BMCServiceDesk__Incident__c > incmap= new map<id,BMCServiceDesk__Incident__c >();
if(groupedResults.size() >0){
for(AggregateResult ar:groupedResults) {
Id custid = (ID)ar.get('BMCServiceDesk__FKIncident__c');
System.debug('$$$$$$$$$$$$$$$$$$$$$ custid :' + custid);
Integer count = (INTEGER)ar.get('expr0');
tskIncidentIds.add(custid);
System.debug('$$$$$ :'+ count);
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=custid);
incident.Open_task__c = count;
incmap.put(custid,incident);
}
}
for(id incId:setIncidentIds){
if(!tskIncidentIds.contains(incId)){
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=incId);
incident.Open_task__c = 0;
incmap.put(incid ,incident);
}
}
if(groupedResults1.size() >0){
for(AggregateResult ar:groupedResults1) {
Id custid = (ID)ar.get('BMCServiceDesk__FKIncident__c');
System.debug('$$$$$$$$$$$$$$$$$$$$$ custid :' + custid);
Integer count = (INTEGER)ar.get('expr0');
Decimal sumofmin= (Decimal )ar.get('expr1');
tskIncidentIds1.add(custid);
if(incmap.containskey(custid)){
BMCServiceDesk__Incident__c incident = incmap.get(custId);
incident.Linked_Tasks__c=count;
incident.Tasks_Duration_Minutes__c = sumofmin;
incmap.put(custid,incident);
}else{
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=custid);
incident.Tasks_Duration_Minutes__c = sumofmin;
incident.Linked_Tasks__c=count;
incmap.put(custid,incident);
}
}
}
for(id incId:setIncidentIds){
if(!tskIncidentIds1.contains(incId)){
if(incmap.containskey(incId)){
BMCServiceDesk__Incident__c incident = incmap.get(incId);
incident.Linked_Tasks__c=0;
incident.Tasks_Duration_Minutes__c=0;
incmap.put(incid ,incident);
}
else{
BMCServiceDesk__Incident__c incident = new BMCServiceDesk__Incident__c(Id=incId);
incident.Linked_Tasks__c= 0;
incident.Tasks_Duration_Minutes__c=0;
incmap.put(incid ,incident);
}
}
}
isexecutedInc =true;
update incmap.values();
}
Test Class
static testmethod void Taskcounttest(){
Test.startTest();
Profile prof = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User usr = new User(Alias = 'testuser1', Email='testuser1@test.com',
EmailEncodingKey='UTF-8', LastName='TestName1', LanguageLocaleKey='en_US', LocaleSidKey='en_US', ProfileId = prof.Id,TimeZoneSidKey='America/Los_Angeles', UserName='testuser1@testuser.com');
DisableCustomTriggers__c cust = new DisableCustomTriggers__c();
cust.name ='CountTasksForIncident';
cust.DisableTrigger__c = TRUE;
insert cust;
BMCServiceDesk__Category__c catg= new BMCServiceDesk__Category__c(Name = 'Test Emails'+ system.now(),BMCServiceDesk__AvailableForIncidents__c =true,BMCServiceDesk__Inactive__c=false,BMCServiceDesk__UnAvailableForTasks__c= false,BMCServiceDesk__AvailableForServiceCatalog__c=true,BMCServiceDesk__Display_In_SelfService__c=true);
insert catg;
system.debug('catg' + catg);
BMCServiceDesk__BMC_BaseElement__c serv = new BMCServiceDesk__BMC_BaseElement__c();
serv.Name ='Fraedom';
serv.BMCServiceDesk__Name__c='Fraedom';
insert serv;
system.debug('serv' + serv);
BMCServiceDesk__Impact__c impct = new BMCServiceDesk__Impact__c();
impct.Name='low';
insert impct;
system.debug('impct' + impct);
BMCServiceDesk__Urgency__c urgc= new BMCServiceDesk__Urgency__c();
urgc.Name='low';
insert urgc;
system.debug('urgc' + urgc);
BMCServiceDesk__Status__c stat= new BMCServiceDesk__Status__c(Name='OPENED'+System.now().getTime(),BMCServiceDesk__state__c= true,BMCServiceDesk__defaultStatus__c = true,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat;
system.debug('stat' + stat);
BMCServiceDesk__Status__c stat1= new BMCServiceDesk__Status__c(Name='CLOSED'+System.now().getTime(),BMCServiceDesk__state__c= false,BMCServiceDesk__defaultStatus__c = false,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat1;
system.debug('stat1' + stat1);
Account acct = new Account();
acct.Name='Test Account';
insert acct;
system.debug('acct' + acct);
BMCServiceDesk__Incident__c inc = new BMCServiceDesk__Incident__c();
inc.BMCServiceDesk__FKAccount__c =acct.id;
inc.BMCServiceDesk__FKBusinessService__c=serv.id;
system.debug('categoryId ' +'spmBMCTestforCatId ' + catg.id);
inc.BMCServiceDesk__FKCategory__c= catg.id;
inc.BMCServiceDesk__FKImpact__c=impct.id;
inc.BMCServiceDesk__FKUrgency__c=urgc.id;
system.debug('STATUS ' +'spmBMCTestforSTATUS ' + stat.id);
inc.BMCServiceDesk__FKStatus__c=stat.id;
insert inc;
inc.Tasks_Duration_Minutes__c =20;
inc.Open_task__c =1;
inc.Linked_Tasks__c=2;
update inc;
Test.stopTest();
}
static testmethod void Taskcounttest2(){
Test.startTest();
Profile prof = [SELECT Id FROM Profile WHERE Name='System Administrator'];
User usr = new User(Alias = 'testuser1', Email='testuser1@test.com',
EmailEncodingKey='UTF-8', LastName='TestName1', LanguageLocaleKey='en_US', LocaleSidKey='en_US', ProfileId = prof.Id,TimeZoneSidKey='America/Los_Angeles', UserName='testuser1@testuser.com');
DisableCustomTriggers__c cust = new DisableCustomTriggers__c();
cust.name ='CountTasksForIncident';
cust.DisableTrigger__c = TRUE;
insert cust;
BMCServiceDesk__Category__c catg= new BMCServiceDesk__Category__c(Name = 'Test Emails'+ system.now(),BMCServiceDesk__AvailableForIncidents__c =true,BMCServiceDesk__Inactive__c=false,BMCServiceDesk__UnAvailableForTasks__c= false,BMCServiceDesk__AvailableForServiceCatalog__c=true,BMCServiceDesk__Display_In_SelfService__c=true);
insert catg;
system.debug('catg' + catg);
BMCServiceDesk__BMC_BaseElement__c serv = new BMCServiceDesk__BMC_BaseElement__c();
serv.Name ='Fraedom';
serv.BMCServiceDesk__Name__c='Fraedom';
insert serv;
system.debug('serv' + serv);
BMCServiceDesk__Impact__c impct = new BMCServiceDesk__Impact__c();
impct.Name='low';
insert impct;
system.debug('impct' + impct);
BMCServiceDesk__Urgency__c urgc= new BMCServiceDesk__Urgency__c();
urgc.Name='low';
insert urgc;
system.debug('urgc' + urgc);
BMCServiceDesk__Status__c stat= new BMCServiceDesk__Status__c(Name='OPENED'+System.now().getTime(),BMCServiceDesk__state__c= true,BMCServiceDesk__defaultStatus__c = true,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat;
system.debug('stat' + stat);
BMCServiceDesk__Status__c stat1= new BMCServiceDesk__Status__c(Name='CLOSED'+System.now().getTime(),BMCServiceDesk__state__c= false,BMCServiceDesk__defaultStatus__c = false,BMCServiceDesk__appliesToIncident__c = TRUE,BMCServiceDesk__appliesToTask__c = true);
insert stat1;
system.debug('stat1' + stat1);
Account acct = new Account();
acct.Name='Test Account';
insert acct;
system.debug('acct' + acct);
BMCServiceDesk__Incident__c inc = new BMCServiceDesk__Incident__c();
inc.BMCServiceDesk__FKAccount__c =acct.id;
inc.BMCServiceDesk__FKBusinessService__c=serv.id;
system.debug('categoryId ' +'spmBMCTestforCatId ' + catg.id);
inc.BMCServiceDesk__FKCategory__c= catg.id;
inc.BMCServiceDesk__FKImpact__c=impct.id;
system.debug('STATUS ' +'spmBMCTestforSTATUS ' + stat.id);
inc.BMCServiceDesk__FKStatus__c=stat.id;
inc.BMCServiceDesk__FKUrgency__c=urgc.id;
// inc.Tasks_Duration_Minutes__c =20;
// inc.Open_task__c =1;
// inc.Linked_Tasks__c=2;
insert inc;
List<BMCServiceDesk__Task__c > lstTsk = new List<BMCServiceDesk__Task__c>();
BMCServiceDesk__Task__c tsk2 = new BMCServiceDesk__Task__c();
tsk2.BMCServiceDesk__FKClient__c =usr.id;
tsk2.BMCServiceDesk__FKCategory__c=catg.id;
tsk2.BMCServiceDesk__FKIncident__c =inc.id;
tsk2.BMCServiceDesk__FKStatus__c = stat.id;
tsk2.BMCServiceDesk__FKUrgency__c= urgc.id;
tsk2.BMCServiceDesk__FKImpact__c= impct.id;
inc.Linked_Tasks__c=tsk2.BMCServiceDesk__Total_Duration__c;
lstTsk.add(tsk2);
insert lstTsk;
tsk2.BMCServiceDesk__FKStatus__c = stat1.id;
update tsk2;
delete tsk2;
Test.stopTest();
}