function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Salesforce Admin 110Salesforce Admin 110 

only 48% coverage how to increase

trigger:
 
trigger easyopportunitytrigger on Easy_Opportunity__c (before insert, after insert, before update, after update, before delete, after delete, after undelete){
if(Trigger.isUpdate && Trigger.isAfter){
        easyopportunitytriggerhelper.oppbundle1(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.oppbundle2(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.oppbundle3(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupsellaffiliates(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupsellgassafetycheck(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupsellhomebuy(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupsellpattest(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupsellremovals(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupselluswitchelec(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupselluswitchgas(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.lostmaupselluswitchwater(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle1upsellConveyancing(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle1upsellEPC(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle1upsellHostedViewings(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle1upsellMortgage(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle1upsellSalesProgression(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle2upsellBlockViewing(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle2upsellMortgage(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle2upselluswitchelec(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle2upselluswitchgas(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle2upselluswitchwater(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle3upsellConveyancing(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle3upsellEPC(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle3upsellMortgage(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle3upselluswitchelec(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle3upselluswitchgas(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.bundle3upselluswitchwater(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicanthomebuyerreport(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantutilityswitchgas(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantutilityswitchwater(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantutilityswitchelec(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantremovals(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantgassafetycheck(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantpattest(Trigger.new, trigger.oldmap);
        easyopportunitytriggerhelper.applicantaffiliates(Trigger.new, trigger.oldmap);
    
}
}



part of the class displayed here:
public with sharing class easyopportunitytriggerhelper {

public static void oppbundle1 (list<Easy_Opportunity__c> opps, map<id, Easy_Opportunity__c> oldoppmap) {

list<Easy_Opportunity__c> opplist = new list <Easy_Opportunity__c>();

Id recId = Schema.SObjectType.Easy_Opportunity__c.getRecordTypeInfosByName().get('Residential Sales').getRecordTypeId();

for(Easy_Opportunity__c oppty : opps){



if( (oldOppmap.get(oppty.id).Stage__c != 'Closed Won') && oppty.stage__c == 'closed won'  &&  oppty.name == 'market appraisal' && oppty.recordtypeid == recId){

Easy_Opportunity__c newopp = new Easy_Opportunity__c ();

            newopp.ownerid = oppty.ownerid;
            newopp.name = 'Bundle 1 Opportunity'; 
            newopp.Account_Name__c = oppty.Account_Name__c;
            newopp.CurrencyIsoCode = oppty.currencyisocode;
            newopp.stage__c = 'New';
            newopp.recordtypeid = recId;
            newopp.Contact_Name__c = oppty.Contact_Name__c;
            newopp.Close_Date__c = Date.today().addDays(2);
            

     opplist.add(newopp);

   insert opplist; 


    List<Product__c> Pd = (List<Product__c>) System.Json.deserialize('[{"attributes":{"type":"Product__c"},"Recordtype.name":"Residential Sales","Name":"Easy One","List_Price__c":"111.00","Sold_Price__c":"111.00"}]', List<Product__c>.class);
    for (Product__c eachProd : Pd)
 eachProd.Easy_Opportunity__c = opplist[0].id;
    
insert Pd;

}
}
}

unit test:
 
@isTest
public class easyopportunitytriggerTest 
{

        static testmethod void test_trigger(){
        
Account acct = new Account(Name='Test');


    insert acct;
        

           

contact ct = new contact(firstName='Iain', lastname =  'Banks');

    insert ct;
Id recId = Schema.SObjectType.Easy_Opportunity__c.getRecordTypeInfosByName().get('Residential Sales').getRecordTypeId();
            Easy_Opportunity__c easyOpp = new Easy_Opportunity__c();
            
            
            easyopp.Account_Name__c = acct.id;
            easyOpp.Stage__c = 'New';
            easyOpp.Name = 'Market Appraisal';
            easyOpp.Close_Date__c = system.today();
            easyOpp.currencyisocode = 'GBP';
            easyOpp.Contact_Name__c = ct.id;
            easyOpp.recordtypeid = recid;
            
            // insert all required field;
            insert easyOpp;
            
            product__c pd = new product__c();
            pd.name='easy two';
            pd.Easy_Opportunity__c=easyopp.id;
           
            
            insert pd;

             Test.StartTest(); 
             
                easyOpp.Stage__c = 'Closed Won';
                easyOpp.Opportunity_Rating__c = 'Hot';
                easyOpp.recordtypeid = recid;
                update easyOpp;
                
                easyOpp.Stage__c = 'Closed lost';
                easyOpp.Opportunity_Lost_Reason__c = 'Other';
                easyOpp.Other_Lost_Reason__c = 'dfdf';
                easyOpp.recordtypeid = recid;
                update easyOpp;
                
                 easyOpp.name =  'Bundle 2 Opportunity';
                update easyOpp;
                
                easyOpp.name =  'market appraisal';
                update easyOpp;
                
                easyOpp.name =  'Bundle 3 Opportunity';
                update easyOpp;
                
                easyOpp.name =  'Bundle 1 Opportunity';
                update easyOpp;
                
                easyOpp.name =  'Mortgage & Conveyancy Opportunity';
                update easyOpp;
                
             Test.StopTest();
            
        }

}

 
Gil GourévitchGil Gourévitch
Hello,
First of all, looking at your helper code, you could have a problem during data import, because you insert a oppyList inside a for loop.
There is the same thing in the product list for loop.

In your test class, there is no assertion, so even if all of your code is covered you do not verify that it is doing what you think it does...

The coverage percentage is calculade on all the code of your org, try to execute all of your apex tests and see which tests fails and is responsible of your coverage.
If you cannot find, try to see which lines of your code are not covered, and why.

Hope this helps
Gil

Question Solved ? Please mark as the best answer to help other users !