Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trigger LogBatchApexErrorEvent on BatchApexErrorEvent (after insert){
- if(Trigger.IsInsert && Trigger.IsAfter){
- LogBatchApexErrorEvent_Handler.persistLog(Trigger.New);
- }
- }
- public with sharing class TestBatch implements Database.Batchable<sObject>, Database.RaisesPlatformEvents {
- public Database.QueryLocator start(Database.BatchableContext BC){
- String query = 'SELECT Id FROM Account';
- return Database.getQueryLocator(query);
- }
- public void execute(Database.BatchableContext BC, List<SObject> scope){
- Integer i = 1 / 0;
- }
- public void finish(Database.BatchableContext BC){ }
- }
- static testMethod void testBatchApexErrorEvent() {
- insert new Account(Name = 'Test Account');
- try {
- Test.startTest();
- TestBatch tb = new TestBatch();
- Database.executeBatch(tb);
- Test.stopTest();
- } catch(System.MathException e){}
- System.assertEquals(1, [SELECT Id FROM Log__c].size());
- }
- BatchApexErrorEvent event = new BatchApexErrorEvent();
- EventBus.publish(event);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement