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
Zoren DomingoZoren Domingo 

Test Class for Lightning Controller Class

Hi, can anyone help creating a test class for this aura enabled controller class?
 
public class CampaginScoreCardController {
    
    @AuraEnabled
    public static List<OpportunityLineItem> getOppProds(List<Id> oppIds){
        List<OpportunityLineItem> oppLIList = [Select Id, Gross_UE_Count__c, Data_Vendor__c, Closed_Loop_Analysis__c, Reporting_Length__c, Product2.Name FROM OpportunityLineItem Where OpportunityId in:oppIds AND Product2.Name='Addressable'];
        return oppLIList;
    }
    
    @AuraEnabled
    public static List<Campaign_Scorecard__c> getScorecards(List<Id> oppIds){
        List<Campaign_Scorecard__c> scorecardList = [Select Id, Name, Opportunity__c, Vendor_Measurement__c, Days__c, Primary_KPI__c, Secondary_KPIs__c, Client_Satisfaction__c, Target_Quality__c, OVERALL_RATING__c FROM Campaign_Scorecard__c Where Opportunity__c in:oppIds Order by Vendor_Measurement__c DESC, Days__c ASC];
        return scorecardList;
    }
    
    @AuraEnabled
    public static Opportunity getOpportunity() {
        return [Select Id, Campaign_Name__c, Product_Vertical__c, Reach__c, Frequency__c, Delivery__c, Week__c, Notes__c, Overall_Campaign_Rating__c FROM Opportunity Limit 1];
    }
    
    @AuraEnabled
    public static Map<String,String> saveScorecardList(List<Campaign_Scorecard__c> scorecardList) {
        // Forming a  string map to return response
        Map<String,String> resultMap = new Map<String,String>();
        // Adding try catch for exception handling
        try {
            
            update scorecardList;
            // Setting the success status and message in resultMap
            resultMap.put('status', 'success');
                resultMap.put('message', 'Scorecard Updated Successfully');        
        }
        catch(Exception e) {
            // Setting the success status and message in resultMap
            resultMap.put('status', 'error');
                        resultMap.put('message',e.getMessage());
        }
        // Returning the result string map
        return resultMap;
    }
    
    
}

 
Best Answer chosen by Zoren Domingo
Raj VakatiRaj Vakati
Try this code .. add score card data  and add other required fields
 
@isTest
public class CampaginScoreCardControllerTest {

  @isTest
	static void teste(){
    
		Date closeDt = Date.Today();

 date myDate = date.today();

Account a2 = new Account(Name ='icrm testing acc');
insert a2;

opportunity oppr = new opportunity(Name='testing DIE 4/6/2015' ,  AccountId= a2.Id,StageName = 'Prospecting', 
                                   CloseDate = closeDt);
insert oppr;

 Pricebook2 pb22 = new Pricebook2(Name='Addressable');
 insert pb22;

Product2 pro2 = new Product2(Product_Line__c='DIE',Name='Addressable',Product_Code_Item_Number__c='BXCD24', isActive=true);
insert pro2;

PricebookEntry pbe2 =new PricebookEntry(unitprice=0.01,Product2Id=pro2.Id,Pricebook2Id=Test.getStandardPricebookId(),
                                         isActive=true,UseStandardPrice = false);
 insert pbe2;

 OpportunityLineItem OPplineitem2 = new OpportunityLineItem (Quantity=2, OpportunityId=oppr.Id,UnitPrice=0.01,PriceBookEntryId=pbe2.Id,
                                     Newextension__c=0.02,Bin_Item_Code__c='BXCD2424');
 insert OPplineitem2;
 
 
 Campaign_Scorecard__c scopre = new Campaign_Scorecard__c() ;
 scopre.Name='Test';
 scopre.Opportunity__c  =oppr.id ;
 insert scopre ;
 
 CampaginScoreCardController.getOppProds(new List<Id>{oppr.Id});
  CampaginScoreCardController.getScorecards(new List<Id>{oppr.Id});
 CampaginScoreCardController.getOpportunity();
 
  CampaginScoreCardController.saveScorecardList(new List<Campaign_Scorecard__c>{scopre} );

		
	}
}