function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
SK R.ax1448SK R.ax1448 

Urgent: not getting 75% test code coverage

Hi All,

 

I'm not getting minimum of 75% code coverage for the below trigger, covering only 50%. I didnt understand what mistake i did, can some one please help on this. Any help is highly appreciated.

 

Trigger:

trigger updateCaseSummary on Case(after insert) {
List<Account> accList = new List<Account>();
set<Id> accIds = new set<Id>();
    
    for(Case cs : Trigger.new){
        accIds.add(cs.AccountId);
     }
      
    accList = [ select CaseNum__c from Account where Id in : accIds];
        if(accList.size() > 0) {
                for(Account ac: accList){
                    if( ac.CaseNum__c == null)
                         ac.CaseNum__c = 0;
                      ac.CaseNum__c = ac.CaseNum__c + 1;
                    }
             update accList;
     }

 

Test Class:

 

@isTest(SeeAllData=true)
public class updateCaseSummaryTest{

  static testMethod void SummaryTest(){
    Account acc = New Account(Name = 'TestAccount',CaseNum__c = 1);
    insert acc;
    Case cs = New Case(AccountId = acc.Id);
    insert cs;

    if(acc.CaseNum__c == null)
       acc.CaseNum__c = 0;
    acc.CaseNum__c =  acc.CaseNum__c + 1;  
    update acc;
  }
}

 

Thanks in advance!

amidstcloudamidstcloud

Insert one more Account . . 

 

  Account acc1 = New Account(Name = 'TestAccount',CaseNum__c = Null);
    insert acc1;

 

or You can update the Current Account . .

  acc.CaseNum__C = Null;

 

 udpate acc;

 

then as Your trigger runs only on insertion of Case record .  So insert a case record. . You can put the previous account or New account

Case cs = New Case(AccountId = acc1.Id);
    insert cs;

 

or 

Case cs = New Case(AccountId = acc.Id); //  Please update the account first
    insert cs;

 

 

Please mark this as resolve .if issue get resolved 

 

 

 

 

SK R.ax1448SK R.ax1448

Hi Ankit. Thank you for your response.

I have created one more account, but no luck getting 50% coverage only.

Here is the modified code:

@isTest(SeeAllData=true)
public class updateCaseSummaryTest{

  static testMethod void SummaryTest(){
    Account acc = New Account(Name = 'TestAccount',CaseNum__c = 1);
    insert acc;
    Case cs = New Case(AccountId = acc.Id);
    insert cs;

    acc.CaseNum__c =  acc.CaseNum__c + 1;  
    update acc;
     
    Account acc2 = New Account(Name = 'TestAccount2',CaseNum__c = null);
    insert acc2;
    Case cs2 = New Case(AccountId = acc2.Id);
    insert cs2;

    if(acc2.CaseNum__c == null)
       acc2.CaseNum__c = 0;
    acc2.CaseNum__c =  acc2.CaseNum__c + 1;  
    update acc2;
    

  }
}

 

Thanks!

amidstcloudamidstcloud

try this much only  

 


@isTest(SeeAllData=true)
public class updateCaseSummaryTest{

  static testMethod void SummaryTest(){
   

    Account acc = New Account(Name = 'TestAccount',CaseNum__c = 1);
    insert acc;
   

     Case cs = New Case(AccountId = acc.Id);
    insert cs;

    Account acc2 = New Account(Name = 'TestAccount2',CaseNum__c = null);
    insert acc2;
   

     Case cs2 = New Case(AccountId = acc2.Id);
    insert cs2;
   

    }
}

SK R.ax1448SK R.ax1448

No luck, getting 50 % coverage only.

 

 

 

Thanks!

SK R.ax1448SK R.ax1448

Any one can help me on this please ....

 

 

 

Thanks !