There are issues that just are not obvious at the first look. You might be pulling your hair out for hours. Misleading documentation (or just lack of it) can be one of the ways to end up at these situations. Another is just not paying enough attention. Whatever the reason, these things happen and often make interesting stories. Here I share some of the ‘Gotchas’ I ran into myself.
Subscribe to new posts
LWC in Purgatory
You cannot easily move LWC Component Bundles which call Apex between Unlocked Packages with Namespace
Accidental Permissions
Installing or upgrading a package via Salesforce CLI will add permissions to profile of installing user even if they are not Administrator.
UoW and SObject Instances
Remember that SObjects passed as arguments in Apex point to the same instance, even into the UoW. If you change your variable after registering it as dirty you may affect what gets committed in the end.
Wasting Time in Disabled fflib Trigger Handlers
Did you know that you can dynamically disable fflib_SObjectDomain Trigger Handlers? You did? Ok then, did you know that when you do disable them their constructors run anyway? So be careful not to put any (expensive) logic inside those.
UoW’s Dirty Little Secret
Did you know that you have to be super careful with registering records as dirty with a Unit of Work? If you happen to register the same record a second time you can lose your original registered updates. This is especially likely when you are trying to use the UOW…
Queueable Running User in Unit Test
Running User of a Queueable job in Unit Test depends on who executes Test.stopTest() and not System.enqueueJob()