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
Dastagiri BashaDastagiri Basha 

Hi All, i have written a test class but iit's not covered Code. Can any one help me. and i am begginer, if any mistake i made, please letme know.

Apex Class::

public static void GetIBISDataFromTrigger(map<id,Account> newMap, map<id,Account> oldMap){
        loan__Trigger_Parameters__c trigParam = loan__Trigger_Parameters__c.getInstance();
        genesis__Org_Parameters__c orgParam = genesis__Org_Parameters__c.getInstance();
        IF(orgParam.genesis__Disable_Triggers__c == False && trigParam.GetIBISDataTrigger__c == False){
            Set<Id> accountIds = new Set<Id>();
            for(Account acc : newMap.values()){
                if(acc.IBIS_Specialised_Industry__c != OldMap.get(acc.Id).IBIS_Specialised_Industry__c ||
                   acc.IBIS_Sub_Industry__c != OldMap.get(acc.Id).IBIS_Sub_Industry__c || (acc.IBIS_Industry__c=='FAST-TRACK' && acc.IBIS_Industry__c!= OldMap.get(acc.Id).IBIS_Industry__c)){
                       
                       //Store Account Ids
                       accountIds.add(acc.Id);
                   }
            }
            
            IF(accountIds.size() > 0)
            {
                //get the IBIS Data
                Map<String,IBIS_Data__c> CodeMap =  new Map<String,IBIS_Data__c>();
                List<IBIS_Data__c> conList = [Select id,
                                              Name,
                                              Code_Data__c,
                                              IBIS_Sub_Industry__c,
                                              IBIS_Specialised_Industry__c,
                                              IBIS_Industry_Type__c 
                                              From IBIS_Data__c order by createdDate DESC];
                for(IBIS_Data__c ibisData : conList){
                    
                    IF(ibisData.IBIS_Specialised_Industry__c == null){ 
                        if(!CodeMap.Containskey(ibisData.IBIS_Sub_Industry__c)){
                            CodeMap.put(ibisData.IBIS_Sub_Industry__c,ibisData);
                        }
                    }else{
                        if(!CodeMap.Containskey(ibisData.IBIS_Specialised_Industry__c)){
                            CodeMap.put(ibisData.IBIS_Specialised_Industry__c,ibisData);
                        }
                    }
                }
                
                for(ID accId : accountIds){
                    
                    if(newMap.get(accId).IBIS_Specialised_Industry__c != null){     
                        if(CodeMap.ContainsKey(newMap.get(accId).IBIS_Specialised_Industry__c)){
                            newMap.get(accId).IBIS_Code__c = CodeMap.get(newMap.get(accId).IBIS_Specialised_Industry__c).Code_Data__c;
                            newMap.get(accId).IBIS_Industry_Type__c = CodeMap.get(newMap.get(accId).IBIS_Specialised_Industry__c).IBIS_Industry_Type__c;
                            
                        }else{
                            newMap.get(accId).IBIS_Code__c = '';
                        }
                    }else if(newMap.get(accId).IBIS_Sub_Industry__c != null){
                        if(CodeMap.ContainsKey(newMap.get(accId).IBIS_Sub_Industry__c)){
                            newMap.get(accId).IBIS_Code__c = CodeMap.get(newMap.get(accId).IBIS_Sub_Industry__c).Code_Data__c;
                            newMap.get(accId).IBIS_Industry_Type__c = CodeMap.get(newMap.get(accId).IBIS_Sub_Industry__c).IBIS_Industry_Type__c;
                            
                        }else{
                            newMap.get(accId).IBIS_Code__c = '';
                        }
                    }
                    else if(newMap.get(accId).IBIS_Industry__c=='FAST-TRACK'){
                        if(CodeMap.ContainsKey(newMap.get(accId).IBIS_Industry__c)){
                            newMap.get(accId).IBIS_Code__c = CodeMap.get(newMap.get(accId).IBIS_Industry__c).Code_Data__c;
                            newMap.get(accId).IBIS_Industry_Type__c = CodeMap.get(newMap.get(accId).IBIS_Industry__c).IBIS_Industry_Type__c;
                            
                        }else{
                            newMap.get(accId).IBIS_Code__c = '';
                        }
                    }
                    else{
                        newMap.get(accId).IBIS_Code__c = '';
                    }
                }
            }
        }
    }
}

Test Class::

static testMethod void GetIBISDataFromTriggertest(){ 
         Test.startTest();
        
        loan__Trigger_Parameters__c trigParam = new loan__Trigger_Parameters__c();
        genesis__Org_Parameters__c orgParam =  new genesis__Org_Parameters__c();
        orgParam.genesis__Disable_Triggers__c = False;
        trigParam.GetIBISDataTrigger__c = False;
        update orgParam;
        update trigParam;
        List<Account> acclist = new List<Account>();
        Account acc1 = new Account(Name = 'Test with Sole Proprietor', Company_Structure__c = 'Sole Proprietor',  ABN_Status__c = 'Active', IBIS_Specialised_Industry__c ='Hydroponic Crop Farming');
        insert acc1; 
        if(acc1.id != null){
            for(Account acc : [select id, Name, Company_Structure__c, ABN_Status__c, IBIS_Specialised_Industry__c from Account where Name='Test with Sole Proprietor' limit 1]){
                acc.IBIS_Specialised_Industry__c='Coal Seam Gas Extraction';
                acclist.add(acc);
            } 
            update acclist;
        }
      test.stopTest();  
    }
    

CharuDuttCharuDutt
Hii Dastagiri
Try below Test Class
@isTest
Public class AccountTest{
    static testMethod void GetIBISDataFromTriggertest(){ 
         Account Acc= New Account();
        Acc.Name = 'Test Account';
        Acc.IBIS_Specialised_Industry__c = 'Value 1';
        Acc.IBIS_Sub_Industry__c = 'Value 1';
        Acc.IBIS_Industry__c = 'FAST-TRACK';
        //Fill All Required Fields
        insert Acc;
        
        Acc.IBIS_Industry__c = 'Value 2';//Change Value According to your Org
        update Acc;
        
        IBIS_Data__c ibis = new IBIS_Data__c();
        //Don't Fill This Field Here  ibis2.IBIS_Specialised_Industry__c
        //Fill All Required Fields
        insert ibis;
        
         IBIS_Data__c ibis2 = new IBIS_Data__c();
        ibis2.IBIS_Specialised_Industry__c = 'Value 1';
        //Fill All Required Fields
        insert ibis2;
        
    }
}
Please Mark It As Best Answer If It Helps
Thank You!
AbhinavAbhinav (Salesforce Developers) 
Check this:

https://salesforce.stackexchange.com/questions/244788/how-do-i-write-an-apex-unit-test

https://salesforce.stackexchange.com/questions/244794/how-do-i-increase-my-code-coverage-or-why-cant-i-cover-these-lines

Thanks!