Search code examples
salesforceapextest-classapex-trigger

Test class for Apex Trigger for update


I am new in Apex Development. I want to write a TestClass for my Apex Trigger.

I am sharing my code with you:

trigger ClosedOpportunityTrigger on Opportunity (before update) {
    for(Opportunity o:Trigger.New) {
        if(o.Probability==100 && o.Invoiced__c == true)
        {            
            Attachment a = new Attachment();
            try {
                a = [Select Id, Name from Attachment where ParentId =:o.Id];
            }
            catch(Exception e) {
                a = null;
            }
            if (a == null)
                o.addError('Add an attachment before you close the Opportunity');
            }
        }
    }

Solution

  • Goodluck

    public static void testmethod(){
    
    opportunity opp = new opportunity()
    //change whatever fields u need to make probability 100%
    opp.stage = 'Closed Won';
    opp.Invoiced__c == true;
    
    try{
    
    insert opp
    }
    catch(Exception e){
    
    string errormessage = e.getMessage();
    
    }
    //now that u know how to do it, do a positive test where you also add an          
    //attachment
    //as a side note, your catch block will never fire, because you aren't     
    //catching any exceptions you are just getting a null string
    }