How should I increase the test coverage for this apex controller class

Viewed 10

How do I make coverage more than 75% using apex test class for this controller class. I try to write test class for this but, I'm not able to make its coverage as 75 or above 75. I am tried to cover its second method but its covers only 1 line of its try block i.e. Id recordId = hostId; Other part of code is not covered. It is only cover its catch block. So could you help me to make its coverage more than 75.

public with sharing class DocumentSelectorController {

@AuraEnabled(cacheable = true)
public static List<dmpl__CreateRelatedSetting__mdt> getCreateRelatedSettings(string objectApiName)
{
    try {
        return CreateRelatedSettingHelper.getCreateRelatedSettings(objectApiName);
    } catch (Exception error) {
        ExceptionLogHelper.logException(error);
        throw error;
    }
}

@AuraEnabled
public static List<SObject> getChildObjects(
    Id recordSettingId, 
    Id hostId,
    String searchKey)
{
    try {
        Id recordId = hostId;
        return Database.query(
            CreateRelatedSettingHelper.getSOQLQuery(
                CreateRelatedSettingHelper.getCreateRelatedSetting(recordSettingId),
                searchKey,
                hostId
            )
        ) ;
    } catch (Exception error) {
        ExceptionLogHelper.logException(error);
        throw error;
    }
}

@AuraEnabled
public static CreateRelatedResult releaseDocument(
    Id recordSettingId, 
    Id hostId)
{
    try {
        dmpl__CreateRelatedSetting__mdt recordSetting = CreateRelatedSettingHelper.getCreateRelatedSetting(recordSettingId);
        switch on recordSetting.dmpl__HostObjectId__r.QualifiedApiName {
            when  'dmpl__SaleOrder__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__InventoryFulfillment__c'){
                    return FulfillmentHelper.createFulfillmentFromSaleOrder(hostId);
                }else if(recordSetting.dmpl__Tag__c == 'OTC' && recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__SaleInvoice__c'){
                    return SaleInvoiceHelper.createSaleInvoiceFromSaleOrder(hostId);
                }else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__SaleInvoice__c'){
                    return SaleInvoiceHelper.createSaleInvoiceFromAllocatedLines(hostId);
                }
            }
            when 'dmpl__InventoryFulfillment__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__InventoryFulfillment__c'){
                    return InventoryFulfillmentAllocationLineHelper.createAllocationFromFulfillment(hostId);
                }  else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__DeliveryOrder__c'){
                    return SaleDeliveryHelper.createSaleDeliveryFromFulfillment(hostId);
                }
            }
            when 'dmpl__PurchaseReturn__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__DeliveryOrder__c'){
                    return SaleDeliveryHelper.createSaleDeliveryFromPurchaseReturn(hostId);
                }
            }
        }
        return new CreateRelatedResult('No handler attached');
    } catch (Exception error) {
        ExceptionLogHelper.logException(error);
        throw error;
    }
}

@AuraEnabled
public static CreateRelatedResult releaseChildDocuments(
    Id hostId,
    Id recordSettingId, 
    List<SourceObjectInfo> childObjectsInfo)
{
    try {
        dmpl__CreateRelatedSetting__mdt recordSetting = CreateRelatedSettingHelper.getCreateRelatedSetting(recordSettingId);
        switch on recordSetting.dmpl__HostObjectId__r.QualifiedApiName {
            when 'dmpl__SaleOrder__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__InventoryFulfillment__c'){
                    return FulfillmentHelper.createFulfillmentFromSaleOrder(childObjectsInfo);
                } 
                else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__SaleInvoice__c'){
                    if(recordSetting.dmpl__Tag__c == 'OTC')
                        return SaleInvoiceHelper.createSaleInvoiceFromSaleOrder(childObjectsInfo);
                    else 
                        return SaleInvoiceHelper.createSaleInvoiceFromAllocatedLines(childObjectsInfo);
                } else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__PurchaseOrder__c'){
                    return SaleOrderLineHelper.createSaleOrderLinesFromPurchaseOrder(childObjectsInfo, hostId);
                }
            }
            when 'dmpl__InventoryFulfillment__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__SaleOrder__c'){
                    return FulfillmentHelper.populateFulfillmentFromSaleOrder(childObjectsInfo, hostId);
                } else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__InventoryFulfillment__c'){
                    return InventoryFulfillmentAllocationLineHelper.createAllocationFromFulfillment(childObjectsInfo);
                } else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__DeliveryOrder__c'){
                    return SaleDeliveryHelper.createSaleDeliveryFromFulfillment(childObjectsInfo);
                }
            }
            when  'dmpl__SaleReturn__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__SaleInvoice__c'){
                    return SaleReturnHelper.createSaleReturnFromSaleInvoice(childObjectsInfo, hostId);
                }
            }
            when 'dmpl__PurchaseReturn__c'{
                if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__Bill__c'){
                    return PurchaseReturnHelper.createPurchaseReturnFromPurchaseInvoice(childObjectsInfo, hostId);
                } else if(recordSetting.dmpl__RelatedObjectId__r.QualifiedApiName == 'dmpl__DeliveryOrder__c'){
                    return SaleDeliveryHelper.createSaleDeliveryFromPurchaseReturn(childObjectsInfo);
                }
            }
        }
        return new CreateRelatedResult('No handler attached');
    } catch (Exception error) {
        
    }
}

}

0 Answers
Related