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
Peter CowenPeter Cowen 

testing exception

How can you test a catch exception if it looks to see if a field is set to null.
 

The trigger is
trigger UpdateEntitlement on Case (before insert,before update, after update) {

Id caseRecordTypeId = [Select id from RecordType where sObjectType = 'Case' and developerName ='Service_Desk' ].id ;
if (trigger.isBefore && trigger.isInsert) {
for (Case c : Trigger.new) {
if (c.RecordTypeID == caseRecordTypeId )
if (c.Entitlement == null) {
   try{
//c.EntitlementId = [select Id from Entitlement where Id = '550L0000000Q299IAC'].id;
c.EntitlementId = [Select Id from Entitlement Where AccountId = :c.AccountId and Default_Entitlement__c=True limit 1].id;
   }catch(QueryException e) {
System.debug('No records found. Maybe you should set it to Null:' + e);
}
}}

}}

my test class is
trigger UpdateEntitlement on Case (before insert,before update, after update) {

Id caseRecordTypeId = [Select id from RecordType where sObjectType = 'Case' and developerName ='Service_Desk' ].id ;
if (trigger.isBefore && trigger.isInsert) {
for (Case c : Trigger.new) {
if (c.RecordTypeID == caseRecordTypeId )
if (c.Entitlement == null) {
   try{
//c.EntitlementId = [select Id from Entitlement where Id = '550L0000000Q299IAC'].id;
c.EntitlementId = [Select Id from Entitlement Where AccountId = :c.AccountId and Default_Entitlement__c=True limit 1].id;
   }catch(QueryException e) {
System.debug('No records found. Maybe you should set it to Null:' + e);
}
}}

}}

Best Answer chosen by Peter Cowen
Peter CowenPeter Cowen
Apologies my test class is @istest public with sharing class EntitlementCodecoverage { @istest static void testMethodOne() { Account acc = new Account(); acc.Name='Test Account'; insert acc; Contact cont = new Contact(); cont.FirstName='Test'; cont.LastName='Test'; cont.Email='test@demo.com'; cont.Accountid=acc.id; insert cont; ServiceContract sc = new ServiceContract(); sc.Name = 'Test SC'; sc.AccountId = acc.Id; sc.Primary_Service_Contract__c = True; sc.Annual_Contract_Value__c = 1000.00; insert sc; Entitlement ent = new Entitlement(); ent.name = 'Test Entitlement'; ent.AccountId = acc.id; ent.ServiceContractId = sc.id; ent.StartDate = system.today(); ent.Default_Entitlement__c = True; insert ent; Case cas = new Case( ContactId = cont.id, AccountId = acc.id, Status = 'Inprogress', Origin = 'Phone', RecordTypeID = '012D0000000NWyP'); insert cas; Case casNew = [select Id, Service_Contract__c,EntitlementId from Case where Id =: cas.Id LIMIT 1]; System.assertEquals(ent.Id, casNew.EntitlementId); delete cas; delete ent; delete sc; delete cont; delete acc; } static testmethod void testMethodtwo() { Account acc = new Account(); acc.Name='Test Account'; insert acc; Contact cont = new Contact(); cont.FirstName='Test'; cont.LastName='Test'; cont.Email='test@demo.com'; cont.Accountid=acc.id; insert cont; ServiceContract sc = new ServiceContract(); sc.Name = 'Test SC'; sc.AccountId = acc.Id; sc.Primary_Service_Contract__c = True; sc.Annual_Contract_Value__c = 1000.00; insert sc; Entitlement en = new Entitlement(); en.name = 'Test Entitlement'; en.AccountId = acc.id; en.ServiceContractId = sc.id; en.StartDate = system.today(); en.Default_Entitlement__c = True; insert en; Case ca = new Case( ContactId = cont.id, AccountId = acc.id, Status = 'Inprogress', Origin = 'Phone', RecordTypeID = '012D0000000NWyP'); insert ca; Case caNew = [select Id, Service_Contract__c,EntitlementId from Case where Id =: ca.Id LIMIT 1]; System.assertEquals(en.Id, caNew.EntitlementId); delete ca; delete en; delete sc; delete cont; delete acc; } Static testmethod void testmethod3() { Account acc = new Account(); acc.Name='Test Account 2'; insert acc; Contact cont = new Contact(); cont.FirstName='Test'; cont.LastName='Test'; cont.Email='test@demo.com'; cont.Accountid=acc.id; insert cont; ServiceContract sc = new ServiceContract(); sc.Name = 'Test SC 2'; sc.AccountId = acc.Id; sc.Primary_Service_Contract__c = True; sc.Annual_Contract_Value__c = 1000.00; insert sc; Entitlement entitle = new Entitlement(); entitle.name = 'Test Entitlement 3'; entitle.AccountId = acc.id; entitle.ServiceContractId = sc.id; entitle.StartDate = system.today(); insert entitle; Case newcase = new Case( ContactId = cont.id, AccountId = acc.id, Status = 'Inprogress', Origin = 'Phone', RecordTypeID = '012D0000000NWyP', EntitlementId = entitle.Id); insert newcase; Case newcaseNew = [select Id, Service_Contract__c,EntitlementId from Case where Id =: newcase.Id LIMIT 1]; System.assertEquals(entitle.Id, newcaseNew.EntitlementId); delete newcase; delete entitle; delete sc; delete cont; delete acc; } static testmethod void testMethodfour() { Account acc = new Account(); acc.Name='Test Account'; insert acc; Contact cont = new Contact(); cont.FirstName='Test'; cont.LastName='Test'; cont.Email='test@demo.com'; cont.Accountid=acc.id; insert cont; ServiceContract sc = new ServiceContract(); sc.Name = 'Test SC'; sc.AccountId = acc.Id; sc.Primary_Service_Contract__c = True; sc.Annual_Contract_Value__c = 1000.00; insert sc; Entitlement SLA = new Entitlement(); SLA.name = 'Test Entitlement'; SLA.AccountId = acc.id; SLA.ServiceContractId = sc.id; SLA.StartDate = system.today(); SLA.Default_Entitlement__c = FALSE; insert SLA; Case cases = new Case( ContactId = cont.id, AccountId = acc.id, Status = 'Inprogress', Origin = 'Phone',RecordTypeID = '012D0000000NWyP'); insert cases; Case casesNew = [select Id, Service_Contract__c,EntitlementId from Case where Id =: cases.Id LIMIT 1]; System.assertEquals(SLA.Id, casesNew.EntitlementId); delete cases; delete SLA; delete sc; delete cont; delete acc; } }