You need to sign in to do that
Don't have an account?
Reshmi Smiju
Issue with Database.deleteResult method with aTrailhead Class
Hi,
While executing the following class from the Trailhead : Creating Test Data for Apex Tests Chapter, I am facing the error. System.ListException: Missing id at index: 0 with all the 4 Database.deleteResult statement (marked in the code).
Class :
@isTest
private class TestAccountDeletion {
@isTest static void TestDeleteAccountWithOneOpportunity(){
//Test data setup
Account[] accts = TestDataFactory.createAccountsWithOpps(1,1);
Test.startTest();
Database.DeleteResult result= Database.delete(accts[0], false);
Test.stopTest();
System.assert(!result.isSuccess());
System.assert(result.getErrors().size() > 0);
System.assertEquals('Cannot delete account with related opportunities.',result.getErrors()[0].getMessage());
}
@isTest static void TestDeleteAccountWithNoOpportunities(){
Account [] accts = TestDataFactory.createAccountsWithOpps(1, 0);
Test.startTest();
Database.deleteResult result = Database.delete(accts[0],false);
Test.stopTest();
System.assert(result.isSuccess());
}
@isTest static void TestDeleteBulkAccountsWithOneOpportunity(){
Account[] accts = TestDataFactory.createAccountsWithOpps(200,1);
Test.startTest();
Database.deleteResult[] result = Database.delete(accts,false);
Test.stopTest();
for(Database.deleteResult dr:result){
System.assert(!dr.isSuccess());
System.assert(dr.getErrors().size() > 0);
System.assertEquals('Cannot delete account with related opportunities.',
dr.getErrors()[0].getMessage());
}
}
@isTest static void TestDeleteBulkAccountsWithNoOpportunity(){
Account[] accts = TestDataFactory.createAccountsWIthOpps(200,0);
Test.startTest();
Database.deleteResult[] result = Database.delete(accts, false);
Test.stopTest();
for(Database.deleteResult dr:result){
System.assert(dr.isSuccess());
}
}
}
Pls let me know, what could be the issue. Thanks in Advance
Regards
Reshmi
While executing the following class from the Trailhead : Creating Test Data for Apex Tests Chapter, I am facing the error. System.ListException: Missing id at index: 0 with all the 4 Database.deleteResult statement (marked in the code).
Class :
@isTest
private class TestAccountDeletion {
@isTest static void TestDeleteAccountWithOneOpportunity(){
//Test data setup
Account[] accts = TestDataFactory.createAccountsWithOpps(1,1);
Test.startTest();
Database.DeleteResult result= Database.delete(accts[0], false);
Test.stopTest();
System.assert(!result.isSuccess());
System.assert(result.getErrors().size() > 0);
System.assertEquals('Cannot delete account with related opportunities.',result.getErrors()[0].getMessage());
}
@isTest static void TestDeleteAccountWithNoOpportunities(){
Account [] accts = TestDataFactory.createAccountsWithOpps(1, 0);
Test.startTest();
Database.deleteResult result = Database.delete(accts[0],false);
Test.stopTest();
System.assert(result.isSuccess());
}
@isTest static void TestDeleteBulkAccountsWithOneOpportunity(){
Account[] accts = TestDataFactory.createAccountsWithOpps(200,1);
Test.startTest();
Database.deleteResult[] result = Database.delete(accts,false);
Test.stopTest();
for(Database.deleteResult dr:result){
System.assert(!dr.isSuccess());
System.assert(dr.getErrors().size() > 0);
System.assertEquals('Cannot delete account with related opportunities.',
dr.getErrors()[0].getMessage());
}
}
@isTest static void TestDeleteBulkAccountsWithNoOpportunity(){
Account[] accts = TestDataFactory.createAccountsWIthOpps(200,0);
Test.startTest();
Database.deleteResult[] result = Database.delete(accts, false);
Test.stopTest();
for(Database.deleteResult dr:result){
System.assert(dr.isSuccess());
}
}
}
Pls let me know, what could be the issue. Thanks in Advance
Regards
Reshmi
I was able to execute succesffuly with your code. Can you check again.PFB the screenshot.
Let me know if i missed anything
Thanks
Anand
Still I am facing the same Issue. Does it need to have any system Preference (wild guess)!!
Try in different DE hope it will work
Thanks
Anand