You need to sign in to do that
Don't have an account?
Eswar Varma Mudunuri
How to test class for triggerhandler
My class
public class CLDLY_InvoiceLineItemTriggerHandler {
public static void beforeInsertEventHandler(List < Apttus_Billing__InvoiceLineItem__c > listInvoiceLines) {
if (listInvoiceLines != null && !listInvoiceLines.isEmpty()) {
//Apttus_Config2__AssetLineItem__c MAP GENERATION TO GET DATA
Set < ID > assetsIDs = new Set < ID > ();
Map < ID, Apttus_Config2__AssetLineItem__c > assetsMap = new Map < ID, Apttus_Config2__AssetLineItem__c > ();
for (Apttus_Billing__InvoiceLineItem__c a: listInvoiceLines) {
assetsIDs.add(a.Apttus_Billing__AssetLineItemId__c);
}
List < Apttus_Config2__AssetLineItem__c > listOfAsset = [select ID, CLDLY_Consortium_Relationship__c,
CLDLY_Invoice_Grouping_Key__c,
CLDLY_Quote_Account__c,CLDLY_Quote_Opportunity__c,CLDLY_Quote_Vendor_Account__c
from Apttus_Config2__AssetLineItem__c where ID in: assetsIDs
];
for (Apttus_Config2__AssetLineItem__c asset: listOfAsset) {
assetsMap.put(asset.ID, asset);
}
//Apttus_Billing__InvoiceLineItem__c LOOP TO POPULATE THE VALUES
for (Apttus_Billing__InvoiceLineItem__c invoiceLineItemSO: listInvoiceLines) {
system.debug('Before INSERT CLDLY_InvoiceLineItemTriggerHandler 0 *************************');
if (invoiceLineItemSO.Apttus_Billing__BillingScheduleId__c != NULL && invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c != NULL) {
system.debug('Before INSERT CLDLY_InvoiceLineItemTriggerHandler 1 *************************');
if (assetsMap.containsKey(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c) &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Invoice_Grouping_Key__c != NULL &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Account__c != NULL &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Opportunity__c != NULL &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Vendor_Account__c != NULL
) {
system.debug('Before INSERT CLDLY_InvoiceLineItemTriggerHandler 2 COPIED VALUES FROM Assets *************************');
// SET FROM ASSETS
invoiceLineItemSO.CLDLY_Invoice_Grouping_Key__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Invoice_Grouping_Key__c;
invoiceLineItemSO.CLDLY_Quote_Account__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Account__c;
invoiceLineItemSO.CLDLY_Quote_Opportunity__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Opportunity__c;
invoiceLineItemSO.CLDLY_Quote_Vendor_Account__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Vendor_Account__c;
if(assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Consortium_Relationship__c != NULL){
invoiceLineItemSO.CLDLY_Consortium_Relationship__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Consortium_Relationship__c;
}
}
}
}
}
}
public static void beforeUpdateEventHandler(Map < Id, Apttus_Billing__InvoiceLineItem__c > mapInvoiceLineItem, Map < Id, Apttus_Billing__InvoiceLineItem__c > mapInvoiceLineItemOld) {
if (mapInvoiceLineItem != null && !mapInvoiceLineItem.isEmpty()) {
for (Apttus_Billing__InvoiceLineItem__c invoiceLineItemSO: mapInvoiceLineItem.values()) {
system.debug('before Update beforeUpdateEventHandler CLDLY_InvoiceLineItemTriggerHandler 2 Populated all formulaaasss *************************');
}
}
}
//To update Invoices
//
public static void updateInvoiceEventHandler(List < Apttus_Billing__InvoiceLineItem__c > listInvoiceLines) {
if (listInvoiceLines != null && !listInvoiceLines.isEmpty()) {
system.debug('$$%% 1 updateInvoiceEventHandler => '+listInvoiceLines.size());
Map<ID, Apttus_Billing__Invoice__c> parentOpps = new Map<ID, Apttus_Billing__Invoice__c>(); //Making it a map instead of list for easier lookup
List<Id> listIds = new List<Id>();
for (Apttus_Billing__InvoiceLineItem__c childObj : listInvoiceLines) {
listIds.add(childObj.Apttus_Billing__InvoiceId__c);
}
//Populate the map. Also make sure you select the field you want to update
parentOpps = new Map<Id, Apttus_Billing__Invoice__c>([SELECT id,Name, CLDLY_Invoice_Grouping_Key__c, CLDLY_Quote_Account__c,CLDLY_Quote_Opportunity__c,CLDLY_Quote_Vendor_Account__c, (SELECT ID, CLDLY_Invoice_Grouping_Key__c, CLDLY_Quote_Account__c,CLDLY_Quote_Opportunity__c, CLDLY_Quote_Vendor_Account__c FROM Apttus_Billing__InvoiceLineItems__r) FROM Apttus_Billing__Invoice__c WHERE ID IN :listIds]);
for (Apttus_Billing__InvoiceLineItem__c quote: listInvoiceLines){
system.debug('$$%% 2 updateInvoiceEventHandler => quote.ID => '+quote.ID);
if(quote.CLDLY_Invoice_Grouping_Key__c != NULL){
Apttus_Billing__Invoice__c myParentOpp = parentOpps.get(quote.Apttus_Billing__InvoiceId__c);
myParentOpp.CLDLY_Invoice_Grouping_Key__c = quote.CLDLY_Invoice_Grouping_Key__c;
myParentOpp.CLDLY_Quote_Account__c = quote.CLDLY_Quote_Account__c;
myParentOpp.CLDLY_Quote_Opportunity__c = quote.CLDLY_Quote_Opportunity__c;
myParentOpp.CLDLY_Quote_Vendor_Account__c = quote.CLDLY_Quote_Vendor_Account__c;
system.debug('$$%% 3 updateInvoiceEventHandler => myParentOpp.ID => '+myParentOpp.ID);
}
}
if(parentOpps.values().size() > 0){
system.debug('$$%% 4 updateInvoiceEventHandler => parentOpps.values().size() => '+parentOpps.values().size());
update parentOpps.values();
}else{
system.debug('$$%% 5 parentOpps.values().size() => '+parentOpps.values().size());
}
}
}
}
public class CLDLY_InvoiceLineItemTriggerHandler {
public static void beforeInsertEventHandler(List < Apttus_Billing__InvoiceLineItem__c > listInvoiceLines) {
if (listInvoiceLines != null && !listInvoiceLines.isEmpty()) {
//Apttus_Config2__AssetLineItem__c MAP GENERATION TO GET DATA
Set < ID > assetsIDs = new Set < ID > ();
Map < ID, Apttus_Config2__AssetLineItem__c > assetsMap = new Map < ID, Apttus_Config2__AssetLineItem__c > ();
for (Apttus_Billing__InvoiceLineItem__c a: listInvoiceLines) {
assetsIDs.add(a.Apttus_Billing__AssetLineItemId__c);
}
List < Apttus_Config2__AssetLineItem__c > listOfAsset = [select ID, CLDLY_Consortium_Relationship__c,
CLDLY_Invoice_Grouping_Key__c,
CLDLY_Quote_Account__c,CLDLY_Quote_Opportunity__c,CLDLY_Quote_Vendor_Account__c
from Apttus_Config2__AssetLineItem__c where ID in: assetsIDs
];
for (Apttus_Config2__AssetLineItem__c asset: listOfAsset) {
assetsMap.put(asset.ID, asset);
}
//Apttus_Billing__InvoiceLineItem__c LOOP TO POPULATE THE VALUES
for (Apttus_Billing__InvoiceLineItem__c invoiceLineItemSO: listInvoiceLines) {
system.debug('Before INSERT CLDLY_InvoiceLineItemTriggerHandler 0 *************************');
if (invoiceLineItemSO.Apttus_Billing__BillingScheduleId__c != NULL && invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c != NULL) {
system.debug('Before INSERT CLDLY_InvoiceLineItemTriggerHandler 1 *************************');
if (assetsMap.containsKey(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c) &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Invoice_Grouping_Key__c != NULL &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Account__c != NULL &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Opportunity__c != NULL &&
assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Vendor_Account__c != NULL
) {
system.debug('Before INSERT CLDLY_InvoiceLineItemTriggerHandler 2 COPIED VALUES FROM Assets *************************');
// SET FROM ASSETS
invoiceLineItemSO.CLDLY_Invoice_Grouping_Key__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Invoice_Grouping_Key__c;
invoiceLineItemSO.CLDLY_Quote_Account__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Account__c;
invoiceLineItemSO.CLDLY_Quote_Opportunity__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Opportunity__c;
invoiceLineItemSO.CLDLY_Quote_Vendor_Account__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Quote_Vendor_Account__c;
if(assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Consortium_Relationship__c != NULL){
invoiceLineItemSO.CLDLY_Consortium_Relationship__c = assetsMap.get(invoiceLineItemSO.Apttus_Billing__AssetLineItemId__c).CLDLY_Consortium_Relationship__c;
}
}
}
}
}
}
public static void beforeUpdateEventHandler(Map < Id, Apttus_Billing__InvoiceLineItem__c > mapInvoiceLineItem, Map < Id, Apttus_Billing__InvoiceLineItem__c > mapInvoiceLineItemOld) {
if (mapInvoiceLineItem != null && !mapInvoiceLineItem.isEmpty()) {
for (Apttus_Billing__InvoiceLineItem__c invoiceLineItemSO: mapInvoiceLineItem.values()) {
system.debug('before Update beforeUpdateEventHandler CLDLY_InvoiceLineItemTriggerHandler 2 Populated all formulaaasss *************************');
}
}
}
//To update Invoices
//
public static void updateInvoiceEventHandler(List < Apttus_Billing__InvoiceLineItem__c > listInvoiceLines) {
if (listInvoiceLines != null && !listInvoiceLines.isEmpty()) {
system.debug('$$%% 1 updateInvoiceEventHandler => '+listInvoiceLines.size());
Map<ID, Apttus_Billing__Invoice__c> parentOpps = new Map<ID, Apttus_Billing__Invoice__c>(); //Making it a map instead of list for easier lookup
List<Id> listIds = new List<Id>();
for (Apttus_Billing__InvoiceLineItem__c childObj : listInvoiceLines) {
listIds.add(childObj.Apttus_Billing__InvoiceId__c);
}
//Populate the map. Also make sure you select the field you want to update
parentOpps = new Map<Id, Apttus_Billing__Invoice__c>([SELECT id,Name, CLDLY_Invoice_Grouping_Key__c, CLDLY_Quote_Account__c,CLDLY_Quote_Opportunity__c,CLDLY_Quote_Vendor_Account__c, (SELECT ID, CLDLY_Invoice_Grouping_Key__c, CLDLY_Quote_Account__c,CLDLY_Quote_Opportunity__c, CLDLY_Quote_Vendor_Account__c FROM Apttus_Billing__InvoiceLineItems__r) FROM Apttus_Billing__Invoice__c WHERE ID IN :listIds]);
for (Apttus_Billing__InvoiceLineItem__c quote: listInvoiceLines){
system.debug('$$%% 2 updateInvoiceEventHandler => quote.ID => '+quote.ID);
if(quote.CLDLY_Invoice_Grouping_Key__c != NULL){
Apttus_Billing__Invoice__c myParentOpp = parentOpps.get(quote.Apttus_Billing__InvoiceId__c);
myParentOpp.CLDLY_Invoice_Grouping_Key__c = quote.CLDLY_Invoice_Grouping_Key__c;
myParentOpp.CLDLY_Quote_Account__c = quote.CLDLY_Quote_Account__c;
myParentOpp.CLDLY_Quote_Opportunity__c = quote.CLDLY_Quote_Opportunity__c;
myParentOpp.CLDLY_Quote_Vendor_Account__c = quote.CLDLY_Quote_Vendor_Account__c;
system.debug('$$%% 3 updateInvoiceEventHandler => myParentOpp.ID => '+myParentOpp.ID);
}
}
if(parentOpps.values().size() > 0){
system.debug('$$%% 4 updateInvoiceEventHandler => parentOpps.values().size() => '+parentOpps.values().size());
update parentOpps.values();
}else{
system.debug('$$%% 5 parentOpps.values().size() => '+parentOpps.values().size());
}
}
}
}