• Eder Garcia 4
  • NEWBIE
  • 0 Points
  • Member since 2022

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 1
    Replies
public without sharing class dedupeLeadProductInterest {
public class FlowInputs {
        @InvocableVariable public String varCombinedProductUnMod;
        @InvocableVariable public String LeadId;
    }

    @InvocableMethod
    public static void updateLead (List<FlowInputs> requests) {
    
    
     List<Id> LeadIds = new List<Id>();
        for (FlowInputs request : requests) {
            LeadIds.add(request.LeadId);
        }
        
        
        List<Lead> leads = [SELECT Id FROM Lead WHERE Id IN : LeadIds];

        List<Lead> LeadsToUpdate = new List<Lead>();

        for (FlowInputs request : requests) {
        
             for (Lead MyLead : leads) {
             
                if (MyLead.Id == request.LeadId) {

                String varCombinedProductUnMod = request.varCombinedProductUnMod;
                String LeadId = request.LeadId;
                List<String> duplicateRemoveList = new List<String>(new Set<String>(varCombinedProductUnMod.split(';')));
                String varApexModifiedCombinedProd = String.join(duplicateRemoveList, ';');

                MyLead.Product_Interest__c = varApexModifiedCombinedProd;
                LeadsToUpdate.add(MyLead);

        }
      }
    }
       database.update(LeadsToUpdate); 
    } 
}

 

Looking for some help to write a test class for the above invocable method used in an apex action from flow.  Unsure how to go about writing a test class for flow inputs. Thanks in advanced