Created
June 15, 2023 19:43
-
-
Save jbro-io/d7fada1567c3687cb24fa3e7ece593e2 to your computer and use it in GitHub Desktop.
Revisions
-
jbro-io created this gist
Jun 15, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,106 @@ @isTest private class TriggerHandlerTest { // I normally put private classes at the bottom, but to prevent you from having to scroll ... private class TestTriggerHandler extends TriggerHandler { public TriggerOperation Method { get; private set; } @testVisible protected override void beforeInsert(List<SObject> newRecords) { this.Method = TriggerOperation.BEFORE_INSERT; } @testVisible protected override void beforeUpdate(Map<Id, SObject> updatedRecordsMap, Map<Id, SObject> oldRecordsMap) { this.Method = TriggerOperation.BEFORE_UPDATE; } @testVisible protected override void beforeDelete(Map<Id, SObject> deletedRecordsMap) { this.Method = TriggerOperation.BEFORE_DELETE; } @testVisible protected override void afterInsert(Map<Id, SObject> newRecordsMap) { this.Method = TriggerOperation.AFTER_INSERT; } @testVisible protected override void afterUpdate(Map<Id, SObject> updatedRecordsMap, Map<Id, SObject> oldRecordsMap) { this.Method = TriggerOperation.AFTER_UPDATE; } @testVisible protected override void afterDelete(Map<Id, SObject> deletedRecordsMap) { this.Method = TriggerOperation.AFTER_DELETE; } @testVisible protected override void afterUndelete(Map<Id, SObject> undeletedRecordsMap) { this.Method = TriggerOperation.AFTER_UNDELETE; } } @isTest static void it_should_perform_before_insert() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.BEFORE_INSERT; testHandler.execute(); System.assertEquals(TriggerOperation.BEFORE_INSERT, testHandler.Method); } @isTest static void it_should_perform_before_update() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.BEFORE_UPDATE; testHandler.execute(); System.assertEquals(TriggerOperation.BEFORE_UPDATE, testHandler.Method); } @isTest static void it_should_perform_before_delete() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.BEFORE_DELETE; testHandler.execute(); System.assertEquals(TriggerOperation.BEFORE_DELETE, testHandler.Method); } @isTest static void it_should_perform_after_insert() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.AFTER_INSERT; testHandler.execute(); System.assertEquals(TriggerOperation.AFTER_INSERT, testHandler.Method); } @isTest static void it_should_perform_after_update() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.AFTER_UPDATE; testHandler.execute(); System.assertEquals(TriggerOperation.AFTER_UPDATE, testHandler.Method); } @isTest static void it_should_perform_after_delete() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.AFTER_DELETE; testHandler.execute(); System.assertEquals(TriggerOperation.AFTER_DELETE, testHandler.Method); } @isTest static void it_should_perform_after_undelete() { TestTriggerHandler testHandler = new TestTriggerHandler(); TriggerHandler.triggerContext = TriggerOperation.AFTER_UNDELETE; testHandler.execute(); System.assertEquals(TriggerOperation.AFTER_UNDELETE, testHandler.Method); } }