• Hung Vo 891
  • NEWBIE
  • 5 Points
  • Member since 2019

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 1
    Replies
I'm doing the "Test Apex Triggers" challenge and get this error:
"The 'RestrictContactByName' class did not achieve 100% code coverage via your test methods"

I also attach my code here, can you show me where could it be the wrong spot?
 
@isTest
public class TestRestrictContactByName {
    @isTest static void TestInsertContact_INVALIDNAME(){
		Contact contact = new Contact(LastName='INVALIDNAME');
        Test.startTest();
        Database.SaveResult result = Database.insert(contact);
        Test.stopTest();
        System.assert(!result.isSuccess());
        System.assert(result.getErrors().size() > 0);
        System.assertEquals('The Last Name "'+contact.LastName+'" is not allowed for DML',
                             result.getErrors()[0].getMessage());
    }
    
    @isTest static void TestInsertContact_VALIDNAME(){
		Contact contact = new Contact(LastName='VALIDNAME');
        Test.startTest();
        Database.SaveResult result = Database.insert(contact);
        Test.stopTest();
        System.assert(result.isSuccess());
    }
    
    @isTest(SeeAllData=true) static void TestUpdateContact_INVALIDNAME(){
		Contact contact = [SELECT Id FROM Contact WHERE LastName = 'Test Contact' LIMIT 1];
        contact.LastName = 'INVALIDNAME';
        Test.startTest();
        Database.SaveResult result = Database.update(contact);
        Test.stopTest();
        System.assert(!result.isSuccess());
        System.assert(result.getErrors().size() > 0);
        System.assertEquals('The Last Name "'+contact.LastName+'" is not allowed for DML',
                             result.getErrors()[0].getMessage());
    }
    
    @isTest(SeeAllData=true) static void TestUpdateContact_VALIDNAME(){
		Contact contact = [SELECT Id FROM Contact WHERE LastName = 'Test Contact' LIMIT 1];
        contact.LastName = 'VALIDNAME';
        Test.startTest();
        Database.SaveResult result = Database.update(contact);
        Test.stopTest();
        System.assert(result.isSuccess());
    }
}

 
I'm doing the "Test Apex Triggers" challenge and get this error:
"The 'RestrictContactByName' class did not achieve 100% code coverage via your test methods"

I also attach my code here, can you show me where could it be the wrong spot?
 
@isTest
public class TestRestrictContactByName {
    @isTest static void TestInsertContact_INVALIDNAME(){
		Contact contact = new Contact(LastName='INVALIDNAME');
        Test.startTest();
        Database.SaveResult result = Database.insert(contact);
        Test.stopTest();
        System.assert(!result.isSuccess());
        System.assert(result.getErrors().size() > 0);
        System.assertEquals('The Last Name "'+contact.LastName+'" is not allowed for DML',
                             result.getErrors()[0].getMessage());
    }
    
    @isTest static void TestInsertContact_VALIDNAME(){
		Contact contact = new Contact(LastName='VALIDNAME');
        Test.startTest();
        Database.SaveResult result = Database.insert(contact);
        Test.stopTest();
        System.assert(result.isSuccess());
    }
    
    @isTest(SeeAllData=true) static void TestUpdateContact_INVALIDNAME(){
		Contact contact = [SELECT Id FROM Contact WHERE LastName = 'Test Contact' LIMIT 1];
        contact.LastName = 'INVALIDNAME';
        Test.startTest();
        Database.SaveResult result = Database.update(contact);
        Test.stopTest();
        System.assert(!result.isSuccess());
        System.assert(result.getErrors().size() > 0);
        System.assertEquals('The Last Name "'+contact.LastName+'" is not allowed for DML',
                             result.getErrors()[0].getMessage());
    }
    
    @isTest(SeeAllData=true) static void TestUpdateContact_VALIDNAME(){
		Contact contact = [SELECT Id FROM Contact WHERE LastName = 'Test Contact' LIMIT 1];
        contact.LastName = 'VALIDNAME';
        Test.startTest();
        Database.SaveResult result = Database.update(contact);
        Test.stopTest();
        System.assert(result.isSuccess());
    }
}