Skip to content

Instantly share code, notes, and snippets.

@olgaloza
Created April 12, 2018 19:19
Show Gist options
  • Save olgaloza/b08ee5e061ca620e744a186ae7b65e1f to your computer and use it in GitHub Desktop.
Save olgaloza/b08ee5e061ca620e744a186ae7b65e1f to your computer and use it in GitHub Desktop.
Test Apex Triggers Challenge
@isTest
private class TestRestrictContactByName {
@isTest static void testInvalidName() {
//try inserting a Contact with INVALIDNAME
Contact myConact = new Contact(LastName='INVALIDNAME');
insert myConact;
// Perform test
Test.startTest();
Database.SaveResult result = Database.insert(myConact, false);
Test.stopTest();
// Verify
// In this case the creation should have been stopped by the trigger,
// so verify that we got back an error.
System.assert(!result.isSuccess());
System.assert(result.getErrors().size() > 0);
System.assertEquals('Cannot create contact with invalid last name.',
result.getErrors()[0].getMessage());
}
}
@vaugood
Copy link

vaugood commented Jul 14, 2024

Just reporting a silly mistake I made. Wanted to post this here in case anybody else makes the same mistake I did.
I was getting the error:

System.DmlException: Insert failed. First exception on row 0; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, The Last Name "INVALIDNAME" is not allowed for DML

and found that I was missing the false argument in the Database.insert() statement (line 11).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment