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
Lukesh KarmoreLukesh Karmore 

I write Test class but it not enter into the method

triggger:
public class DemoCaseClass{
 public  void  UpdateCaseQueueField(list<Case> newCases,map<Id,Case> oldMapCases){
 Id salesqueueId =     [select Id from Group where  Type = 'Queue' AND NAME = 'Sales Queue'].id;
  Id supportqueueId =   [select Id from Group where  Type = 'Queue' AND NAME = 'Support Queue'].id;           
   Id onboardqueueId =   [select Id from Group where  Type = 'Queue' AND NAME = 'Onboarding Queue'].id;
         Id interRecordtypeId=Schema.SObjectType.Case.getRecordTypeInfosByName().get('Interdepartmental').getRecordTypeId();
        for(Case c : newCases){
  if(c.Case_Queue__c!=oldMapCases.get(c.Id).Case_Queue__c && c.Case_Queue__c=='Sales Queue'  && c.RecordTypeId==interRecordtypeId ){
             //c.OwnerId='00G8D000000FtXsUAK'; 
            c.OwnerId=salesqueueId;
             system.debug('line 101 '+oldMapCases.get(c.Id).Owner.Name);
             c.Department__c = 'Sales';
             c.Case_From__c=string.valueOf(oldMapCases.get(c.Id).Case_Queue__c);
             }
          else if(c.Case_Queue__c!=oldMapCases.get(c.Id).Case_Queue__c && c.Case_Queue__c=='Support Queue'  && c.RecordTypeId==interRecordtypeId){
              c.OwnerId=supportqueueId;                        
             // c.OwnerId='00G8D000000EwIFUA0';
             c.Department__c = 'Support';
             c.Case_From__c=string.valueOf(oldMapCases.get(c.Id).Case_Queue__c);
            }
         
          else if(c.Case_Queue__c!=oldMapCases.get(c.Id).Case_Queue__c && c.Case_Queue__c=='Onboarding Queue'  && c.RecordTypeId==interRecordtypeId ){
             c.OwnerId= onboardqueueId;    
              // c.OwnerId='00G8D000000EwIPUA0';
             c.Department__c = 'Onboarding';
             c.Case_From__c=string.valueOf(oldMapCases.get(c.Id).Case_Queue__c);
           }         
          
       } 
    }
}


Test :

@isTest
public class InterdepartmentalCaseStatus_Test {
 @isTest(Seealldata=true)
    
    public static void updateCloseStatus(){
        
        Account acc =new Account();
        acc.Name='Test1';
        acc.Installation_Date__c=Date.today();
        acc.Owner_Email__c='test@gmail.com.invalid';
        acc.Account_Status__c='Pending Installation';
        acc.Store_Phone__c='88811122';
        acc.Installation_Type__c='New Construction';
        insert acc;
        System.debug('Account'+acc);
        
        Contact con=new Contact();
        con.LastName='Test';
        con.Email='test@gmail.com.invalid';
        con.AccountId=acc.Id;
        insert con;
        
         //Queue
        Group testGroup = new Group(Name='Sales Queue', Type='Queue');
        insert testGroup;
        
        
        Id supportId=Schema.SObjectType.Case.getRecordTypeInfosByName().get('Support Case').getRecordTypeId(); 
        Case c = new Case();
        c.RecordTypeId= supportId; 
        c.AccountId = acc.id;
        c.ContactId= con.Id;
        c.Status='Open';
        c.Subject='Test';
        c.Comments='Testing';
        insert c;
        
         list<case> caseList1=new list<case>();
         map<Id ,case> oldMapcase1=new  map<Id,case>();
         
        
        Id interRecId=Schema.SObjectType.Case.getRecordTypeInfosByName().get('Interdepartmental').getRecordTypeId();   
       //interdepartmental 1
        Case inter = new Case();
        inter.RecordTypeId= interRecId; 
        inter.AccountId = acc.id;
        inter.ContactId= con.Id;
        inter.Case_Queue__c='Support Queue';       
       // inter.Department__c = 'Support';        
        inter.Status='Open';
        inter.Subject='Test';
        inter.Comments='Testing';
        inter.Related_Case__c= c.id;
        insert inter;
        
        map<id,case> oldCaseMap1=new map<id,case>();
        oldCaseMap1.put(inter.Id,inter);
        //list<case> newCase=new list<case>();
        
        Test.startTest();
     inter.Case_Queue__c= 'Sales Queue';
        caseList1.add(inter);
        update caseList1;
          DemoCaseClass cc = new DemoCaseClass();
        cc.UpdateCaseQueueField(caseList1,oldMapcase1);
          
        Test.stopTest();        
    }
}
can any one help me with the test class
Thank you
Sai PraveenSai Praveen (Salesforce Developers) 
Hi Lukesh,

The DemoCaseClass is it a Trigger handler and is it called from some trigger. If so no need to call this method from the Test Class It should be invoked itself. 

Can you check if the test class is failing due to validation rules or something because of which it is not even entered into the method.

Thanks,
 
CharuDuttCharuDutt
Hii Lukesh
Try Below Code
Add this Line in Your Trigger
DemoCaseClass cc = new DemoCaseClass();
        cc.UpdateCaseQueueField(Trigger.new,Trigger.OldMap);
###################################################################################################################
@isTest
public class InterdepartmentalCaseStatus_Test {
    @isTest(Seealldata=true)
    
    public static void updateCloseStatus(){
        
        //Queue
        Group testGroup = new Group(Name='Support Queue', Type='Queue');
        insert testGroup;
        
        Group testGroup2 = new Group(Name='Sales Queue', Type='Queue');
        insert testGroup2;
        
        Account acc =new Account();
        acc.Name='Test1';
        acc.Installation_Date__c=Date.today();
        acc.Owner_Email__c='test@gmail.com.invalid';
        acc.Account_Status__c='Pending Installation';
        acc.Store_Phone__c='88811122';
        acc.Installation_Type__c='New Construction';
        insert acc;
        System.debug('Account'+acc);
        
        Contact con=new Contact();
        con.LastName='Test';
        con.Email='test@gmail.com.invalid';
        con.AccountId=acc.Id;
        insert con;
        
        
        Id supportId=Schema.SObjectType.Case.getRecordTypeInfosByName().get('Support Case').getRecordTypeId(); 
        Case c = new Case();
        c.RecordTypeId= supportId; 
        c.AccountId = acc.id;
        c.ContactId= con.Id;
        c.Status='Open';
        c.Subject='Test';
        c.Comments='Testing';
        insert c;
        
        list<case> caseList1=new list<case>();
        map<Id ,case> oldMapcase1=new  map<Id,case>();
        
        
        Id interRecId=Schema.SObjectType.Case.getRecordTypeInfosByName().get('Interdepartmental').getRecordTypeId();   
        //interdepartmental 1
        Case inter = new Case();
        inter.RecordTypeId= interRecId; 
        inter.AccountId = acc.id;
        inter.ContactId= con.Id;
        inter.Case_Queue__c='Support Queue';       
        // inter.Department__c = 'Support';        
        inter.Status='Open';
        inter.Subject='Test';
        inter.Comments='Testing';
        inter.Related_Case__c= c.id;
        insert inter;
        
        inter.Case_Queue__c= 'Sales Queue';
        caseList1.add(inter);
        update caseList1;
    }
}
Please Mark It As Best Asnwer If It Helps
Thank You!