From b938135302c305e27ffca3aa758f4c25314161c7 Mon Sep 17 00:00:00 2001 From: manuerwin Date: Thu, 19 Mar 2026 13:00:18 +1300 Subject: [PATCH 1/3] fix (partial) mixed_dml test failures #938 --- .../log-management/classes/LogHandler_Tests.cls | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/nebula-logger/core/tests/log-management/classes/LogHandler_Tests.cls b/nebula-logger/core/tests/log-management/classes/LogHandler_Tests.cls index 61af839a5..6f275b5b4 100644 --- a/nebula-logger/core/tests/log-management/classes/LogHandler_Tests.cls +++ b/nebula-logger/core/tests/log-management/classes/LogHandler_Tests.cls @@ -239,10 +239,13 @@ private class LogHandler_Tests { insert expectedLogOwnerUser; LoggerSettings__c currentUserSettings = Logger.getUserSettings(currentUser); currentUserSettings.DefaultLogOwner__c = expectedLogOwnerUser.Id; - insert currentUserSettings; Log__c log = new Log__c(LoggedBy__c = currentUser.Id, OwnerId = currentUser.Id, TransactionId__c = '1234'); - LoggerDataStore.getDatabase().insertRecord(log); + System.runAs(currentuser) { + insert currentUserSettings; + + LoggerDataStore.getDatabase().insertRecord(log); + } System.Assert.areEqual( 2, @@ -261,10 +264,13 @@ private class LogHandler_Tests { insert expectedLogOwnerUser; LoggerSettings__c currentUserSettings = Logger.getUserSettings(currentUser); currentUserSettings.DefaultLogOwner__c = expectedLogOwnerUser.Username; - insert currentUserSettings; Log__c log = new Log__c(LoggedBy__c = currentUser.Id, OwnerId = currentUser.Id, TransactionId__c = '1234'); - LoggerDataStore.getDatabase().insertRecord(log); + System.runAs(currentuser) { + insert currentUserSettings; + + LoggerDataStore.getDatabase().insertRecord(log); + } System.Assert.areEqual( 2, From 68b514c6a3dad660ce2485efd3a690656abb1c50 Mon Sep 17 00:00:00 2001 From: manuerwin Date: Fri, 20 Mar 2026 16:18:17 +1300 Subject: [PATCH 2/3] also fix MIXED_DML for it_should_set_logger_scenario_owner_as_log_owner_when_log_assignment_enabled_via_logger_scenario_rule test closes #938 --- .../classes/LogEntryEventHandler_Tests.cls | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls b/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls index 9fa0f284d..3f46dcf63 100644 --- a/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls +++ b/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls @@ -655,16 +655,18 @@ private class LogEntryEventHandler_Tests { Schema.User loggerScenarioOwner = LoggerMockDataCreator.createUser(); insert loggerScenarioOwner; LoggerScenario__c loggerScenario = new LoggerScenario__c(Name = 'Some Scenario', OwnerId = loggerScenarioOwner.Id, UniqueId__c = 'Some Scenario'); - insert loggerScenario; - LogEntryEvent__e logEntryEvent = createLogEntryEvent(); - logEntryEvent.TransactionScenario__c = loggerScenario.UniqueId__c; - LoggerScenarioRule.setMock( - new LoggerScenarioRule__mdt(IsEnabled__c = true, IsLogAssignmentEnabled__c = String.valueOf(true), Scenario__c = logEntryEvent.TransactionScenario__c) - ); - - LoggerMockDataStore.getEventBus().publishRecord(logEntryEvent); - LoggerMockDataStore.getEventBus().deliver(new LogEntryEventHandler()); + + System.runAs(loggerScenarioOwner) { + insert loggerScenario; + LogEntryEvent__e logEntryEvent = createLogEntryEvent(); + logEntryEvent.TransactionScenario__c = loggerScenario.UniqueId__c; + LoggerScenarioRule.setMock( + new LoggerScenarioRule__mdt(IsEnabled__c = true, IsLogAssignmentEnabled__c = String.valueOf(true), Scenario__c = logEntryEvent.TransactionScenario__c) + ); + LoggerMockDataStore.getEventBus().publishRecord(logEntryEvent); + LoggerMockDataStore.getEventBus().deliver(new LogEntryEventHandler()); + } Log__c log = getLog(); System.Assert.areEqual(loggerScenario.OwnerId, log.OwnerId); } From 690c7af6da9266ac27a60cadd8c10ffce9cd84ff Mon Sep 17 00:00:00 2001 From: manuerwin Date: Fri, 20 Mar 2026 17:03:13 +1300 Subject: [PATCH 3/3] actually fix MIXED_DML test failure #938 --- .../log-management/classes/LogEntryEventHandler_Tests.cls | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls b/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls index 3f46dcf63..11d5a5011 100644 --- a/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls +++ b/nebula-logger/core/tests/log-management/classes/LogEntryEventHandler_Tests.cls @@ -655,8 +655,9 @@ private class LogEntryEventHandler_Tests { Schema.User loggerScenarioOwner = LoggerMockDataCreator.createUser(); insert loggerScenarioOwner; LoggerScenario__c loggerScenario = new LoggerScenario__c(Name = 'Some Scenario', OwnerId = loggerScenarioOwner.Id, UniqueId__c = 'Some Scenario'); - - System.runAs(loggerScenarioOwner) { + + Schema.User currentUser = new Schema.User(Id = System.UserInfo.getUserId(), ProfileId = System.UserInfo.getProfileId()); + System.runAs(currentUser) { insert loggerScenario; LogEntryEvent__e logEntryEvent = createLogEntryEvent(); logEntryEvent.TransactionScenario__c = loggerScenario.UniqueId__c;