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
Pavani Akella 9Pavani Akella 9 

help increasing code coverage

I'm having a difficult time to get my code coverage increased (I'm still a newb on the dev end).
My class is working but I don't have test class. My code coverage is 65%

Apex class:

public static void sendPartOrderAndReturnEmail(List<Case> caseList, Map<id,Case> oldMap){
        if (DoNotReplyId == null) {
            DoNotReplyId = [SELECT id FROM OrgWideEmailAddress where Address = 'cleantech.warranty@roush.com' limit 1].id;
        }
        if (emailSent == true)
            return;

        string orderPartLineItems;
        string orderPartLineItemsTxt;
        string htmlBody;
        string textBody;
        string emailFromAddress;
        string emailSubject;

        set<string> emailToSet = new set<string>();
        set<string> orderEmailAddSet = new set<string>();
        set<String> rctOrderEmailAddSet = new set<string>(); 
        set<String> rppOrderEmailAddSet = new set<string>(); 

        list<Parts_Order_Email__c> orderEmailAddresses = new list<Parts_Order_Email__c>([SELECT Order_Person_Email__c, RCT_Dominos__c,  RPP__c FROM Parts_Order_Email__c]);

       
        for (Parts_Order_Email__c p: orderEmailAddresses){
            if (p.RCT_Dominos__c == True){
                rctOrderEmailAddSet.add(p.Order_Person_Email__c);
            }
            if (p.RPP__c == True){
                rppOrderEmailAddSet.add(p.Order_Person_Email__c);
            }
        }

        list<Replacement_Part__c> updReplaceParts = new list<Replacement_Part__c>();

        map<Id,list<Replacement_Part__c>> replacePartMap = new map<id,list<Replacement_Part__c>>();

        set<id> caseIds = new set<id>();

        for (Case c: caseList){
            if (c.status == 'Resolution Provided'){
                caseIds.add(c.id);
            }
        }
        
        list<Replacement_Part__c> partsList = new list<Replacement_Part__c>([SELECT id, Case__c, Replacement_Item__r.Name, Replacement_Item__r.Description__c, Return_Part__c, Order_Email_Sent__c, Return_Email_Sent__c, Replacement_Part_Checkbox__c
               FROM Replacement_Part__c WHERE Case__c in :caseIds ORDER BY Case__c]);

        for (Replacement_Part__c p: partsList){
            
            if (p.Replacement_Part_Checkbox__c == true && p.Order_Email_Sent__c == false){
                if (replacePartMap.containsKey(p.Case__c)){
                    replacePartMap.get(p.Case__c).add(p);
                }
                else{
                    replacePartMap.put(p.Case__c, new list<Replacement_Part__c>{p});
                }
            }
        }

        for (Case c: caseList){
            
            if(replacePartMap.containsKey(c.id)){
                orderPartLineItems='';
                orderPartLineItemsTxt='';
                for (Replacement_Part__c r: replacePartMap.get(c.id)){
                    orderPartLineItemsTxt = orderPartLineItemsTxt + r.Replacement_Item__r.Name + '  ---  ' + r.Replacement_Item__r.Description__c + '\n\n';
                    orderPartLineItems = orderPartLineItems +
                        '<tr>'+
                            '<td style="vertical-align: top;">' + r.Replacement_Item__r.Name  + '<br></td>' +
                            '<td style="vertical-align: top;">' + r.Replacement_Item__r.Description__c + '<br></td>'+
                        '</tr>';
                        r.Order_Email_Sent__c = true;
                        updReplaceParts.add(r);
                }
                htmlBody = orderPartsEmail(c.id, c.CaseNumber, c.Subject, c.Claim_Type_new__c, orderPartLineItems);
                textBody = orderPartsTextEmail(c.CaseNumber, c.Subject, c.Claim_Type_new__c, orderPartLineItemsTxt);
                emailFromAddress = 'Roush CleanTech Customer Support';
                emailSubject = 'Order Parts';
                
                if (c.VIN_Vehicle_Program__c == 'RPP'){
                    orderEmailAddSet.addAll(rppOrderEmailAddSet);
                }
                else{
                    orderEmailAddSet.addAll(rctOrderEmailAddSet);
                }
                orderEmailAddSet.remove(null);
                if (orderEmailAddSet.size()>0)
                    sendHTMLEmail(orderEmailAddSet, emailSubject, htmlBody, textBody, emailFromAddress);
            }
        }

    update updReplaceParts;
    emailSent=True;
    }
    
    private static String orderPartsEmail(string caseId, string caseNumber, string caseSubject, string claimType, string orderPartList){

        String domain = ([select count() from Organization where isSandbox = true] == 1)? 'https://test.salesforce.com' : 'https://login.salesforce.com';
        String caseUrl = domain + '/'+ caseId;

        return  'Please order replacement parts for the following case.<br></br>'+
                'Case Number: ' + caseNumber + '<br>'+
                'Case Subject: ' + caseSubject + '<br>'+
                'Claim Type: ' + claimType + '<br></br>'+
                '<table style="text-align: left; width: 75%;" border="1" cellpadding="2" cellspacing="2">' +
                    '<tbody>'+
                        '<tr align="center">'+
                            '<td colspan="2" rowspan="1" style="vertical-align: top; background-color: rgb(204, 204, 204);"><span style="font-weight: bold;">Parts to Order</span><br>'+
                            '</td>'+
                        '</tr>'+
                        '<tr>'+
                            '<td style="vertical-align: top; background-color: rgb(204, 204, 204); font-weight: bold;">Part Name<br></td>'+
                            '<td style="vertical-align: top; background-color: rgb(204, 204, 204); font-weight: bold;">Part Description<br></td>'+
                        '</tr>'+
                        orderPartList+
                    '</tbody>'+
                '</table><br>'+
                'The link to the case is below.<br></br>'+
                caseUrl;
    }
    private static String orderPartsTextEmail(string caseNumber, string caseSubject, string claimType, string orderPartList){
        return  'Please order replacement parts for the following case.\n\n' +
                'Case Number: ' + caseNumber + '\n\n' +
                'Case Subject: ' + caseSubject + '\n\n' +
                'Claim Type: ' + claimType + '\n\n' +
                orderPartList+ '\n\n';
    }