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
ashu 6112ashu 6112 

testclass_help

I need to write test class for the below class: 
Please suggest:




public without sharing class generateGreensheetPDF {
    
    private Greensheet__c greensheet{get;set;} 
    public String idGreensheet {get;set;}
    
    public generateGreensheetPDF(){    }
    
    
    public generateGreensheetPDF(ApexPages.StandardController cntrll){
        idGreensheet = ApexPages.currentPage().getParameters().get('id');
        greensheet = (Greensheet__c)cntrll.getRecord();
        System.debug('idGreensheet '+idGreensheet);
    }
    
    @Future(callout=true)
    public static void attachingPDFOnStatusChange(String id,String name){
        system.debug('==== Executing attachingPDFOnStatusChange Started============');
        String pdfName = name+'.pdf';
        PageReference pgPDFAtachment = Page.greensheetpdf;
        pgPDFAtachment.getParameters().put('id',id);
        Blob blobPDF = pgPDFAtachment.getContent();
        String tmpName = '';
        
        Attachment attachPDF = new Attachment(parentid= id,Name=pdfName,body=blobPDF);
        insert attachPDF;
        system.debug('==== Executing attachingPDFOnStatusChange Completed============');
    }   
    
    @Future(callout=true)
    public static void attachingPDFOnStatusChange(String idGreensheetrec,String strTitle,String statusCurr){
        system.debug('==== Executing attachingPDFOnStatusChange Started============');
        String pdfName = '';
        PageReference pgPDFAtachment = Page.greensheetpdf;
        pgPDFAtachment.getParameters().put('id',idGreensheetrec);
        Blob blobPDF = pgPDFAtachment.getContent();
        String tmpName = '';
        pdfName = genFileNameForGreensheetAtt(idGreensheetrec,strTitle, statusCurr);
        Attachment attachPDF = new Attachment(parentid= idGreensheetrec,Name=pdfName,body=blobPDF);
        insert attachPDF;
        system.debug('==== Executing attachingPDFOnStatusChange Completed============');
    }   
    
    public static String genFileNameForGreensheetAtt(String idGreensheetrec,String strTitle,String statusCurr){
        //idGreensheetrec = 'a1IV00000018Uy7MAE';
        //strTitle = 'Fox Movie Package';
        //statusCurr = 'Paperwork Complete%';
        system.debug('idGreensheetrec '+idGreensheetrec+'====strTitle :'+strTitle+'=====statusCurr :'+statusCurr);
        String strSearchQuery = strTitle +'_'+ statusCurr;
        
        String strFileName ='';
        /*
List<Attachment> lstAtt = [SELECT count(Name) FROM Attachment    //SELECT Id,Name,ParentId,SystemModstamp FROM Attachment 
WHERE ParentId =:idGreensheetrec  AND Name LIKE :strSearchQuery 
ORDER BY SystemModstamp DESC NULLS FIRST ];
if(lstAtt!=null && lstAtt.size()>0){
//tmpName = lstAtt.get(0).Name;
//pdfName = lstAtt.get(0).Name.split('_')[0]
}else{

}*/
        
        AggregateResult[] aresult = [select count(ParentId) attatchmentCnt From Attachment Where ParentId=:idGreensheetrec AND Name LIKE :strSearchQuery+'%' ];
        
            for(AggregateResult ar : aresult){
                system.debug(' Res -->'+ar.get('attatchmentCnt'));
                if((Integer)ar.get('attatchmentCnt')>0){
                    system.debug('QueryRes :'+(Integer)ar.get('attatchmentCnt'));
                    strFileName = strSearchQuery+'_'+ar.get('attatchmentCnt')+'.pdf';        
                    
                }else{
                    strFileName = strSearchQuery+'.pdf';
                }    
            }    
        
        system.debug('FileName Generated :'+strFileName);
        return strFileName;
    }
    
    public PageReference attachingPDF(){
        String pdfName = [select Name from Greensheet__c where Id=:idGreensheet limit 1][0].Name+'.pdf';
        PageReference pgPDFAtachment = Page.greensheetpdf;
        pgPDFAtachment.getParameters().put('id',idGreensheet);
        Blob blobPDF = pgPDFAtachment.getContent();
        // Attachment attachPDF = new Attachment(parentid= greensheet.Id,Name=pdfName,body=blobPDF);
        Attachment attachPDF = new Attachment(parentid= idGreensheet,Name=pdfName,body=blobPDF);
        insert attachPDF;
        
        PageReference redirectToPage = new ApexPages.StandardController(greensheet).view();
        redirectToPage.setRedirect(true);
        return redirectToPage;
    }   
    
    
}