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
RahulRahul 

hello friends, Iam stuck with 67% code coverage. can you help me please?

Test class:-

@isTest
public class QuoteTrigger_PayTerms_GenerateDoc_Test{
         Static testMethod Void testMetho
d2(){
           Test.starttest();

             Account acc = new Account();
             acc.Name = 'Test Account';
             acc.Website ='www.test.com';
             acc.Type='Banking';
             insert acc;
             
             opportunity opp = new opportunity();
             opp.name ='Test Opp';
             opp.stagename='Closed Won';
             opp.Type= 'New Business';
             opp.CloseDate=system.today().addmonths(2);
             opp.Upsell_Potential__c ='No';
             opp.RenewalDate__c = system.today();
             opp.accountid=acc.id;
             insert opp;  
             
             //  Quote Templates-------------------------------------------------------
             
             SBQQ__QuoteTemplate__c qt10 = new SBQQ__QuoteTemplate__c();

               qt10.Name='Auto Renew without Discount';
               qt10.SBQQ__Default__c=false;
               qt10.SBQQ__PageWidth__c= 8.5;
               qt10.SBQQ__TopMargin__c =0.50;
               qt10.SBQQ__LeftMargin__c = 0.50;
               qt10.SBQQ__PageHeight__c  =11.00;
               qt10.SBQQ__BottomMargin__c = 0.50;   
               qt10.SBQQ__RightMargin__c = 0.50;
               qt10.SBQQ__FontFamily__c = 'Helvetica';
               qt10.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt10.SBQQ__BorderColor__c = '000000';
               qt10.SBQQ__FontSize__c = 9.0;
               insert qt10;
            
             SBQQ__QuoteTemplate__c qt9 = new SBQQ__QuoteTemplate__c();

               qt9.Name='Basic Template without Discount';
               qt9.SBQQ__Default__c=false;
               qt9.SBQQ__PageWidth__c= 8.5;
               qt9.SBQQ__TopMargin__c =0.50;
               qt9.SBQQ__LeftMargin__c = 0.50;
               qt9.SBQQ__PageHeight__c  =11.00;
               qt9.SBQQ__BottomMargin__c = 0.50;   
               qt9.SBQQ__RightMargin__c = 0.50;
               qt9.SBQQ__FontFamily__c = 'Helvetica';
               qt9.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt9.SBQQ__BorderColor__c = '000000';
               qt9.SBQQ__FontSize__c = 9.0;
               insert qt9;
            
             SBQQ__QuoteTemplate__c qt8 = new SBQQ__QuoteTemplate__c();

               qt8.Name='Auto Renew with 3% Annual Increment Without Discount';
               qt8.SBQQ__Default__c=false;
               qt8.SBQQ__PageWidth__c= 8.5;
               qt8.SBQQ__TopMargin__c =0.50;
               qt8.SBQQ__LeftMargin__c = 0.50;
               qt8.SBQQ__PageHeight__c  =11.00;
               qt8.SBQQ__BottomMargin__c = 0.50;   
               qt8.SBQQ__RightMargin__c = 0.50;
               qt8.SBQQ__FontFamily__c = 'Helvetica';
               qt8.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt8.SBQQ__BorderColor__c = '000000';
               qt8.SBQQ__FontSize__c = 9.0;
               insert qt8;
       
             SBQQ__QuoteTemplate__c qt7 = new SBQQ__QuoteTemplate__c();

               qt7.Name='Auto Renew with 3% Annual Increment with Autopay';
               qt7.SBQQ__Default__c=false;
               qt7.SBQQ__PageWidth__c= 8.5;
               qt7.SBQQ__TopMargin__c =0.50;
               qt7.SBQQ__LeftMargin__c = 0.50;
               qt7.SBQQ__PageHeight__c  =11.00;
               qt7.SBQQ__BottomMargin__c = 0.50;   
               qt7.SBQQ__RightMargin__c = 0.50;
               qt7.SBQQ__FontFamily__c = 'Helvetica';
               qt7.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt7.SBQQ__BorderColor__c = '000000';
               qt7.SBQQ__FontSize__c = 9.0;
               insert qt7;
            
            SBQQ__QuoteTemplate__c qt6 = new SBQQ__QuoteTemplate__c();

               qt6.Name='Auto Renew with 3% Annual Increment';
               qt6.SBQQ__Default__c=false;
               qt6.SBQQ__PageWidth__c= 8.5;
               qt6.SBQQ__TopMargin__c =0.50;
               qt6.SBQQ__LeftMargin__c = 0.50;
               qt6.SBQQ__PageHeight__c  =11.00;
               qt6.SBQQ__BottomMargin__c = 0.50;   
               qt6.SBQQ__RightMargin__c = 0.50;
               qt6.SBQQ__FontFamily__c = 'Helvetica';
               qt6.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt6.SBQQ__BorderColor__c = '000000';
               qt6.SBQQ__FontSize__c = 9.0;
               insert qt6;
            
             SBQQ__QuoteTemplate__c qt5 = new SBQQ__QuoteTemplate__c();

               qt5.Name='Auto Renew';
               qt5.SBQQ__Default__c=false;
               qt5.SBQQ__PageWidth__c= 8.5;
               qt5.SBQQ__TopMargin__c =0.50;
               qt5.SBQQ__LeftMargin__c = 0.50;
               qt5.SBQQ__PageHeight__c  =11.00;
               qt5.SBQQ__BottomMargin__c = 0.50;   
               qt5.SBQQ__RightMargin__c = 0.50;
               qt5.SBQQ__FontFamily__c = 'Helvetica';
               qt5.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt5.SBQQ__BorderColor__c = '000000';
               qt5.SBQQ__FontSize__c = 9.0;
               insert qt5;
               
             SBQQ__QuoteTemplate__c qt4 = new SBQQ__QuoteTemplate__c();

               qt4.Name='Basic Template with Auto Pay';
               qt4.SBQQ__Default__c=false;
               qt4.SBQQ__PageWidth__c= 8.5;
               qt4.SBQQ__TopMargin__c =0.50;
               qt4.SBQQ__LeftMargin__c = 0.50;
               qt4.SBQQ__PageHeight__c  =11.00;
               qt4.SBQQ__BottomMargin__c = 0.50;   
               qt4.SBQQ__RightMargin__c = 0.50;
               qt4.SBQQ__FontFamily__c = 'Helvetica';
               qt4.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt4.SBQQ__BorderColor__c = '000000';
               qt4.SBQQ__FontSize__c = 9.0;
               insert qt4;
               
             SBQQ__QuoteTemplate__c qt3 = new SBQQ__QuoteTemplate__c();

            qt3.Name='Basic Template';
               qt3.SBQQ__Default__c=false;
               qt3.SBQQ__PageWidth__c= 8.5;
               qt3.SBQQ__TopMargin__c =0.50;
               qt3.SBQQ__LeftMargin__c = 0.50;
               qt3.SBQQ__PageHeight__c  =11.00;
               qt3.SBQQ__BottomMargin__c = 0.50;   
               qt3.SBQQ__RightMargin__c = 0.50;
               qt3.SBQQ__FontFamily__c = 'Helvetica';
               qt3.SBQQ__ShadingColor__c = 'FFFFFF';   
               qt3.SBQQ__BorderColor__c = '000000';
               qt3.SBQQ__FontSize__c = 9.0;
               insert qt3;
               
               qt3.SBQQ__Default__c=true;
               update qt3;
            
             SBQQ__Quote__c oldquote = new SBQQ__Quote__c();
             oldquote.SBQQ__Primary__c = true;
             oldquote.SBQQ__Opportunity2__c = opp.id;
             oldquote.SBQQ__StartDate__c = system.today();
             oldquote.SBQQ__EndDate__c= system.today().addmonths(3);
             oldquote.SBQQ__SubscriptionTerm__c=1;
             
             /*
             Document documentObj = new Document();
             documentObj.Body = Blob.valueOf('Some Document Text');
             documentObj.ContentType = 'application/pdf';
             documentObj.DeveloperName = 'my_document';
             documentObj.IsPublic = true;
             documentObj.Name = 'Recurring Payment Agreement Form';
             documentObj.FolderId = [select id from folder limit 1].id;
             insert documentObj; 
             */
             oldquote.Status_Of_Approval__c='Pending';
             oldquote.Document_Template__c= 'Auto Renew';

             oldquote.SBQQ__PaymentTerms__c= 'monthly';
             oldquote.SBQQ__BillingCountry__c ='United States';
             insert oldquote;
                
             oldquote.Document_Template__c= 'Auto Renew 3';
             oldquote.SBQQ__PaymentTerms__c= 'monthly';
             oldquote.SBQQ__BillingCountry__c ='Japan';

             update oldquote;
             
              SBQQ__QuoteTemplate__c qt11 = new SBQQ__QuoteTemplate__c();
               
             oldquote.Document_Template__c= 'Basic Template';
             oldquote.SBQQ__PaymentTerms__c= 'monthly';
             update oldquote;
                
            SBQQ__RelatedContent__c att = new SBQQ__RelatedContent__c();
            att.Name ='Recurring Payment Agreement Form_2.pdf';
          //att.Owner=Userinfo.getuserid();
          //att.SBQQ__TemplateSection__c
            att.SBQQ__Required__c=true;
          //att.SBQQ__QuoteTemplate__c
            att.SBQQ__Quote__c =oldquote.id;
           //att.SBQQ__Product__c
            att.SBQQ__Opportunity__c = opp.id;
            att.SBQQ__ExternalId__c='00P5400000254mHEAQ';
          //att.SBQQ__DocumentName__c='00P5400000254mHEAQ';
          //att.SBQQ__DisplayOrder__c
                
            insert att;

            SBQQ__Quote__c oldquote2 = new SBQQ__Quote__c();
            oldquote2.SBQQ__Primary__c = true;
            oldquote2.SBQQ__Opportunity2__c = opp.id;
            oldquote2.SBQQ__StartDate__c = system.today();
            oldquote2.SBQQ__EndDate__c= system.today().addmonths(3);
            oldquote2.SBQQ__SubscriptionTerm__c=1;
        
            oldquote2.Status_Of_Approval__c='Pending';
            oldquote2.Document_Template__c= 'Auto Renew';

            oldquote2.SBQQ__PaymentTerms__c= 'monthly';
            
            insert oldquote2;

         }
   
    }

 
RahulRahul
Please find the Apex class:-

Apex class:-
public class QuoteHandler_PayTerms_GenerateDoc {
    
    Public void Documenttemplate(list<SBQQ__Quote__c> newlist) {
        list<SBQQ__QuoteTemplate__c> qt = [select id,Name,SBQQ__Default__c  from SBQQ__QuoteTemplate__c];
        Map<String, SBQQ__QuoteTemplate__c> quoteMap1 = new Map<String, SBQQ__QuoteTemplate__c>();
        for(SBQQ__QuoteTemplate__c q :qt) {
            quoteMap1.put(q.Name, q);
        }
        system.debug('quoteMap1::'+quoteMap1);

        SBQQ__QuoteTemplate__c qt1 = quoteMap1.get('Auto Renew');
      //SBQQ__QuoteTemplate__c qt2 = quoteMap1.get('Auto Renew with Auto pay');
        SBQQ__QuoteTemplate__c qt3 = quoteMap1.get('Basic Template');
     // SBQQ__QuoteTemplate__c qt4 = quoteMap1.get('Basic Template with Auto Pay');
      //SBQQ__QuoteTemplate__c qt5 = quoteMap1.get('Auto Renew with 3% Annual Increment with Autopay');
        SBQQ__QuoteTemplate__c qt6 = quoteMap1.get('Auto Renew with 3% Annual Increment');
        SBQQ__QuoteTemplate__c qt7 = quoteMap1.get('Auto Renew without Discount');
        SBQQ__QuoteTemplate__c qt8 = quoteMap1.get('Auto Renew with 3% Annual Increment Without Discount');
        SBQQ__QuoteTemplate__c qt9 = quoteMap1.get('Basic Template without Discount');



        Map<string, SBQQ__QuoteTemplate__c> quoteMap = new Map<String, SBQQ__QuoteTemplate__c>();
    
        for(SBQQ__Quote__c ss : newlist) {
            if(qt1 != null) {
                qt1.SBQQ__Default__c = false;
                quoteMap.put('qt1',qt1);
            }
         /*   if(qt2 != null) {
                qt2.SBQQ__Default__c = false; 
                quoteMap.put('qt2',qt2);
            } */
            if(qt3 != null) {
                qt3.SBQQ__Default__c = false;    
                quoteMap.put('qt3',qt3);
            } 
          /*  if(qt4 != null){
                qt4.SBQQ__Default__c = false;
                quoteMap.put('qt4',qt4);
            } */
           /* if(qt5 != null){
                qt5.SBQQ__Default__c = false;    
                quoteMap.put('qt5',qt5);
            } */
            if(qt6 != null) {
                qt6.SBQQ__Default__c = false;
                quoteMap.put('qt6',qt6);
            } 
             if(qt7 != null) {
                qt7.SBQQ__Default__c = false;
                quoteMap.put('qt7',qt7);
            } 
            if(qt8 != null) {
                qt8.SBQQ__Default__c = false;
                quoteMap.put('qt8',qt8);
            }  
             if(qt9 != null) {
                qt9.SBQQ__Default__c = false;
                quoteMap.put('qt9',qt9);
            } 


                       
            if(ss.Document_Template__c=='Auto Renew' && ( ss.SBQQ__PaymentTerms__c=='Monthly' ||  ss.SBQQ__PaymentTerms__c=='Quarterly') && ss.SBQQ__TotalCustomerDiscountAmount__c != 0) {
                if(qt1 != null) qt1.SBQQ__Default__c = true;
                quoteMap.put('qt1',qt1);
            }
            if(ss.Document_Template__c=='Auto Renew' && ( ss.SBQQ__PaymentTerms__c=='Annual' ||  ss.SBQQ__PaymentTerms__c=='Semi-annual' || ss.SBQQ__PaymentTerms__c=='Upfront') && ss.SBQQ__TotalCustomerDiscountAmount__c != 0) { 
                system.debug('qt1:::'+qt1);
                if(qt1 != null) qt1.SBQQ__Default__c = true;
                quoteMap.put('qt1',qt1);
            }
            if(ss.Document_Template__c=='Auto Renew 3' && ( ss.SBQQ__PaymentTerms__c=='Quarterly' ||  ss.SBQQ__PaymentTerms__c=='Monthly') && ss.SBQQ__TotalCustomerDiscountAmount__c != 0){
                if(qt6 != null) qt6.SBQQ__Default__c = true;
                quoteMap.put('qt6',qt6);
            }
            if(ss.Document_Template__c=='Auto Renew 3' && (  ss.SBQQ__PaymentTerms__c=='Annual' ||  ss.SBQQ__PaymentTerms__c=='Semi-annual' || ss.SBQQ__PaymentTerms__c=='Upfront') && ss.SBQQ__TotalCustomerDiscountAmount__c != 0) {
                if(qt6 != null) qt6.SBQQ__Default__c = true;
                quoteMap.put('qt6',qt6);
            }
            if(ss.Document_Template__c=='Basic Template' && ( ss.SBQQ__PaymentTerms__c=='Quarterly' ||  ss.SBQQ__PaymentTerms__c=='Monthly') && ss.SBQQ__TotalCustomerDiscountAmount__c != 0) {
                if(qt3 != null) qt3.SBQQ__Default__c = true;
                quoteMap.put('qt3',qt3);
            }
            if(ss.Document_Template__c=='Basic Template' && (  ss.SBQQ__PaymentTerms__c=='Annual' ||  ss.SBQQ__PaymentTerms__c=='Semi-annual' || ss.SBQQ__PaymentTerms__c=='Upfront') && ss.SBQQ__TotalCustomerDiscountAmount__c != 0) {
                if(qt3 != null) qt3.SBQQ__Default__c = true; 
                quoteMap.put('qt3',qt3);
            }      
    /*  -------------------------When Discount is Zero This Part will Execute ------------------------------------------------------------------------------*/
    
    
    
            if(ss.Document_Template__c=='Auto Renew' && ( ss.SBQQ__PaymentTerms__c=='Monthly' ||  ss.SBQQ__PaymentTerms__c=='Quarterly') && ss.SBQQ__TotalCustomerDiscountAmount__c < 1) {
                if(qt7 != null) qt7.SBQQ__Default__c = true;
                quoteMap.put('qt7',qt7);
            }
            if(ss.Document_Template__c=='Auto Renew' && ( ss.SBQQ__PaymentTerms__c=='Annual' ||  ss.SBQQ__PaymentTerms__c=='Semi-annual' || ss.SBQQ__PaymentTerms__c=='Upfront')&& ss.SBQQ__TotalCustomerDiscountAmount__c < 1) { 
                system.debug('qt7:::'+qt7);
                if(qt7 != null) qt7.SBQQ__Default__c = true;
                quoteMap.put('qt7',qt7);
            }
            if(ss.Document_Template__c=='Auto Renew 3' && ( ss.SBQQ__PaymentTerms__c=='Quarterly' ||  ss.SBQQ__PaymentTerms__c=='Monthly') && ss.SBQQ__TotalCustomerDiscountAmount__c < 1){
                if(qt8 != null) qt8.SBQQ__Default__c = true;
                quoteMap.put('qt8',qt8);
            }
            if(ss.Document_Template__c=='Auto Renew 3' && (  ss.SBQQ__PaymentTerms__c=='Annual' ||  ss.SBQQ__PaymentTerms__c=='Semi-annual' || ss.SBQQ__PaymentTerms__c=='Upfront') && ss.SBQQ__TotalCustomerDiscountAmount__c < 1) {
                if(qt8 != null) qt8.SBQQ__Default__c = true;
                quoteMap.put('qt8',qt8);
            }
            if(ss.Document_Template__c=='Basic Template' && ( ss.SBQQ__PaymentTerms__c=='Quarterly' ||  ss.SBQQ__PaymentTerms__c=='Monthly') && ss.SBQQ__TotalCustomerDiscountAmount__c < 1) {
                if(qt9 != null) qt9.SBQQ__Default__c = true;
                quoteMap.put('qt9',qt9);
            }
            if(ss.Document_Template__c=='Basic Template' && (  ss.SBQQ__PaymentTerms__c=='Annual' ||  ss.SBQQ__PaymentTerms__c=='Semi-annual' || ss.SBQQ__PaymentTerms__c=='Upfront') && ss.SBQQ__TotalCustomerDiscountAmount__c < 1) {
                if(qt9 != null) qt9.SBQQ__Default__c = true; 
                quoteMap.put('qt9',qt9);
            }      

    
    
        /*  ------------------------End of This Part ------------------------------------------------------------------------------*/
              
               
        }

        try{
            update quoteMap.values();            
        }
        catch(exception e) {
            system.debug('error:'+e);
        }
    }

}