You need to sign in to do that
Don't have an account?
Lukesh 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
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
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,
Try Below Code Please Mark It As Best Asnwer If It Helps
Thank You!