Skip to main content

Trigger and its test class

I am new to Salesforce. I have written a trigger to update contact based on account field .The Trigger code is below.

trigger Update_contact_based_on_acc on Account (before update) {
    List<contact> cont = new List<contact>();
    for(Account acc : Trigger.new){
        if(acc.Type == 'Prospect'){
            Contact con = new contact();
            con.AccountId = acc.Id;
            con.FirstName = acc.Name;
            con.LastName = acc.Phone;
            cont.add(con);
        }
    }
    if(cont.size()>0){
        insert cont; 
    }
}

I want to use System.assert,System.AssertEquals,Test.start,test.stop and system.runas to clear my concept.So how can I use these in my test class which is attached below

@isTest
public class Update_contact_based_on_accTest {
    public static testmethod void PrimaryAccountTest(){
        
        Account acc = new Account();
        acc.Name = 'Test';
        acc.Type = 'Prospect';
        insert acc; 
        
        acc.Phone = '8404868903';
        update acc;
        
        contact con = new contact(FirstName='accnmame',LastName='test',
                                  AccountId=acc.Id);
        insert con; 
        system.assertEquals(expected, actual);
    }
}