Skip to content

Commit

Permalink
Merge pull request #27 from RedHatSalesforce/CPCCM-8590
Browse files Browse the repository at this point in the history
CPCCM-8590 - rh_escal__BaseTrigger.triggerNameToInfoMap.clear() is no…
  • Loading branch information
jayce1996 committed Mar 5, 2021
2 parents b7fec1f + 9f150ac commit 3484ff6
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/classes/BaseTrigger.cls
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,15 @@ global with sharing abstract class BaseTrigger {
return this.triggerShouldBeSkippedByDefault;
}

/**
* allow triggerNameToInfoMap to be cleared for a specific trigger from outside of the package.
*
* @param key the triggername to remove.
*/
public static void resetTriggerMap(String key) {
triggerNameToInfoMap.remove(key);
}

/**
* Perform trigger actions
*/
Expand Down
16 changes: 16 additions & 0 deletions src/classes/BaseTrigger_Test.cls
Original file line number Diff line number Diff line change
Expand Up @@ -859,6 +859,22 @@ private class BaseTrigger_Test {
);
}

@isTest
static void resetTriggerMap() {
ExampleTrigger bt = new ExampleTrigger();
bt.isBefore = true;
bt.baseNewObjs = new List<SObject> {TestUtils.getAccount()};
System.assert(baseTrigger.triggerNameToInfoMap.containsKey('ExampleTrigger'), 'Map should contain information about ExampleTrigger');

Test.startTest();

BaseTrigger.resetTriggerMap('ExampleTrigger');

Test.stopTest();

System.assert(!baseTrigger.triggerNameToInfoMap.containsKey('ExampleTrigger'), 'Map should not contain information about ExampleTrigger');
}

@isTest
static void run_twoTriggers_isAfter() {
ExampleTrigger bt = new ExampleTrigger();
Expand Down

0 comments on commit 3484ff6

Please sign in to comment.