Skip to main content
deleted 10891 characters in body
Source Link
user42459
user42459

can anyone tell me how to cover the below method.

private static void processActionPlan(Workbook workbook) {
        Map<String, Schema.SObjectField> objectFieldMap = ObjectDescriptionUtility.getFields('Action_Planning_ICIP__c');
        Map<String, ActionPlanMapping__c> fieldMap = new Map<String, ActionPlanMapping__c>();
        for(ActionPlanMapping__c p : ActionPlanMapping__c.getAll().values()) { fieldMap.put(p.Name, p); }
        Id recordTypeId = SFRecordTypes.getId('Action_Planning_ICIP__c', 'HOCAI Action Plan (HOCAI) & Budget');
        AggregateResult [] ar = [SELECT count(Id) recCount FROM Action_Planning_ICIP__c WHERE Related_HOCAI__c=: recordId];
        Integer apNumber = (Integer)ar[0].get('recCount') +1;
        
        List<Action_Planning_ICIP__c> actionPlans = new List<Action_Planning_ICIP__c>();
        for(Sheet sheet : workbook.sheets) {
            if(sheet.sheet.contains('Action Plan')) {
                for(Row row : sheet.rows) {
                    try {
                        String actionPlanName = 'Action Plan - ' + apNumber;
                        Action_Planning_ICIP__c actionPlan = new Action_Planning_ICIP__c(Related_HOCAI__c=recordId, RecordTypeId=recordTypeId);
                        for(String c : row.columns.keySet()) {
                            if(fieldMap.containsKey(c)) {
                                Schema.DisplayType fldType = objectFieldMap.get(fieldMap.get(c).Field_Name__c).getDescribe().getType();
                                System.debug('----------> fieldName: ' + fieldMap.get(c).Field_Name__c);
                                System.debug('----------> fieldType: ' + fldType);
                                String importValue = row.columns.get(c);
                                if(fldType == Schema.DisplayType.REFERENCE) {
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, importValue);
                                }else if(fldType == Schema.DisplayType.STRING || fldType == Schema.DisplayType.TEXTAREA) {
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, importValue);
                                } else if(fldType == Schema.DisplayType.DATE) {
                                    System.debug('--------------> before date parse: ' + importValue);
                                    Date d = Date.parse(importValue);
                                    System.debug('--------------> after date parse: ' + d);
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, d);
                                } else if(fldType == Schema.DisplayType.CURRENCY) {
                                    Decimal d = Decimal.valueOf(importValue.replace('$','').replace(',',''));
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, d);
                                } else if(fldType == Schema.DisplayType.PERCENT) {
                                    Decimal p = Decimal.valueOf(importValue);
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, p);
                                }else if(fldType == Schema.DisplayType.DOUBLE) {
                                    Double d = Double.valueOf(importValue.replace(',',''));
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, d);
                                }
                            }
                        }

my test class is

@isTest
private class CRSImportTest {

    static Assessment_Summary__c aSum;
    
    static testMethod void myUnitTest() {
        
        String testData = 'SHEET: 1 - Financial Personnel';   
        // Start Test       
        Test.startTest();
        
            createTestData();
            Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                                 a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                                 a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                                 a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                                 a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                                 a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                                 a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                                 a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                                 a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                                 a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                                 a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                                 a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                                 a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                                 a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                                 a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                                 a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                                 a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                                 From Assessment_Summary__c a where Id = :aSum.Id];
 
            // verify the field Number_of_Control_Statements__c
            System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
            System.assert( aSumResult.Number_of_Control_Statements__c == 27);                                                               
            
            ApexPages.StandardController sc = new ApexPages.StandardController(aSum);
            CRSImport importController = new CRSImport(sc);
            CRSImport.importSheetCSV(aSum.Id, testData);
            //CRSImport.importSheet(aSum.Id,ICIPMap.id,testData); 
            //CRSImport.importSheet(aSum.Id,'',testData);
        // Stop Test
        Test.stopTest();    
    }
    
    // create the dummy data
    static void createTestData() { 
        //Custom settings
        ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
        action.Column_Name__c='10';
        action.Field_Name__c='6';
        insert action;
         
        ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
        ICIPMap.Field_Name__c='A75';
        insert ICIPMap;
                
        Question_Control_Set__c qSet = new Question_Control_Set__c();
        qSet.Is_Active__c = true;
        qSet.Control_Statements_For_Financial_Personn__c = 2;
        qSet.Control_Statements_For_Financial_Systems__c = 2;
        qSet.Control_Statements_For_Internal_Control__c = 2;
        qSet.Control_Statements_For_Financial_Report__c = 3;
        qSet.Control_Statements_For_Documentation__c = 3;
        qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
        qSet.Control_Statements_For_Other_Assets__c = 8;
        qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
        qSet.Maximum_Value_10_10__c = 2;
        qSet.Maximum_Value_1_10__c = 3;
        qSet.Maximum_Value_2_10__c = 4;
        qSet.Maximum_Value_3_2__c = 5;
        qSet.Maximum_Value_3_1__c = 2;
        qSet.Maximum_Value_3_3__c = 2;
        qSet.Maximum_Value_4_10__c = 6;
        qSet.Maximum_Value_9_4__c = 8;
        qSet.Maximum_Value_5_6__c = 2;
        qSet.Maximum_Value_6_18__c = 4;
        insert qSet;
        
        aSum = new Assessment_Summary__c();
        //aSum.Name = 'testAssesment';
        insert aSum;
      
        // create child records
        
        Financial_Personnel__c fPer = new Financial_Personnel__c();
        fPer.Assessment_Summary__c = aSum.Id;
        fper.Total_Maximum_Value__c = 4;
        fper.Question_Control_Set__c = qSet.Id;
        insert fPer;
      
        Financial_Reporting__c fRep = new Financial_Reporting__c ();
        fRep.Assessment_Summary__c = aSum.Id;
        fRep.Question_Control_Set__c = qSet.Id;
        insert fRep;
        
        Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
        docRec.Assessment_Summary__c = aSum.Id;
        docRec.Question_Control_Set__c = qSet.Id;
        insert docRec;
      
        Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
        otherAnP.Assessment_Summary__c = aSum.Id;
        otherAnp.Question_Control_Set__c = qSet.Id;
        insert otherAnP;
      
        Internal_Control__c iCon = new Internal_Control__c ();
        iCon.Assessment_Summary__c = aSum.Id;
        iCon.Question_Control_Set__c = qSet.Id;
        insert iCon;
      
        Financial_Systems__c fSys = new Financial_Systems__c();
        fSys.Question_Control_Set__c = qSet.Id;
        fSys.Assessment_Summary__c = aSum.Id;
        insert fSys;
      
        Inventory_Management__c invenMgmt = new Inventory_Management__c();
        invenMgmt.Question_Control_Set__c = qSet.Id;
        invenMgmt.Assessment_Summary__c = aSum.Id;
        insert invenMgmt;
        
        Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
        actionPlans.Related_HOCAI__c = aSum.Id;
        actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
        insert  actionPlans;
        
    }
}

for eg private static test(color c)

can anyone tell me how to cover the below method.

private static void processActionPlan(Workbook workbook) {
        Map<String, Schema.SObjectField> objectFieldMap = ObjectDescriptionUtility.getFields('Action_Planning_ICIP__c');
        Map<String, ActionPlanMapping__c> fieldMap = new Map<String, ActionPlanMapping__c>();
        for(ActionPlanMapping__c p : ActionPlanMapping__c.getAll().values()) { fieldMap.put(p.Name, p); }
        Id recordTypeId = SFRecordTypes.getId('Action_Planning_ICIP__c', 'HOCAI Action Plan (HOCAI) & Budget');
        AggregateResult [] ar = [SELECT count(Id) recCount FROM Action_Planning_ICIP__c WHERE Related_HOCAI__c=: recordId];
        Integer apNumber = (Integer)ar[0].get('recCount') +1;
        
        List<Action_Planning_ICIP__c> actionPlans = new List<Action_Planning_ICIP__c>();
        for(Sheet sheet : workbook.sheets) {
            if(sheet.sheet.contains('Action Plan')) {
                for(Row row : sheet.rows) {
                    try {
                        String actionPlanName = 'Action Plan - ' + apNumber;
                        Action_Planning_ICIP__c actionPlan = new Action_Planning_ICIP__c(Related_HOCAI__c=recordId, RecordTypeId=recordTypeId);
                        for(String c : row.columns.keySet()) {
                            if(fieldMap.containsKey(c)) {
                                Schema.DisplayType fldType = objectFieldMap.get(fieldMap.get(c).Field_Name__c).getDescribe().getType();
                                System.debug('----------> fieldName: ' + fieldMap.get(c).Field_Name__c);
                                System.debug('----------> fieldType: ' + fldType);
                                String importValue = row.columns.get(c);
                                if(fldType == Schema.DisplayType.REFERENCE) {
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, importValue);
                                }else if(fldType == Schema.DisplayType.STRING || fldType == Schema.DisplayType.TEXTAREA) {
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, importValue);
                                } else if(fldType == Schema.DisplayType.DATE) {
                                    System.debug('--------------> before date parse: ' + importValue);
                                    Date d = Date.parse(importValue);
                                    System.debug('--------------> after date parse: ' + d);
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, d);
                                } else if(fldType == Schema.DisplayType.CURRENCY) {
                                    Decimal d = Decimal.valueOf(importValue.replace('$','').replace(',',''));
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, d);
                                } else if(fldType == Schema.DisplayType.PERCENT) {
                                    Decimal p = Decimal.valueOf(importValue);
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, p);
                                }else if(fldType == Schema.DisplayType.DOUBLE) {
                                    Double d = Double.valueOf(importValue.replace(',',''));
                                    actionPlan.put(fieldMap.get(c).Field_Name__c, d);
                                }
                            }
                        }

my test class is

@isTest
private class CRSImportTest {

    static Assessment_Summary__c aSum;
    
    static testMethod void myUnitTest() {
        
        String testData = 'SHEET: 1 - Financial Personnel';   
        // Start Test       
        Test.startTest();
        
            createTestData();
            Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                                 a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                                 a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                                 a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                                 a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                                 a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                                 a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                                 a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                                 a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                                 a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                                 a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                                 a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                                 a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                                 a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                                 a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                                 a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                                 a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                                 From Assessment_Summary__c a where Id = :aSum.Id];
 
            // verify the field Number_of_Control_Statements__c
            System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
            System.assert( aSumResult.Number_of_Control_Statements__c == 27);                                                               
            
            ApexPages.StandardController sc = new ApexPages.StandardController(aSum);
            CRSImport importController = new CRSImport(sc);
            CRSImport.importSheetCSV(aSum.Id, testData);
            //CRSImport.importSheet(aSum.Id,ICIPMap.id,testData); 
            //CRSImport.importSheet(aSum.Id,'',testData);
        // Stop Test
        Test.stopTest();    
    }
    
    // create the dummy data
    static void createTestData() { 
        //Custom settings
        ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
        action.Column_Name__c='10';
        action.Field_Name__c='6';
        insert action;
         
        ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
        ICIPMap.Field_Name__c='A75';
        insert ICIPMap;
                
        Question_Control_Set__c qSet = new Question_Control_Set__c();
        qSet.Is_Active__c = true;
        qSet.Control_Statements_For_Financial_Personn__c = 2;
        qSet.Control_Statements_For_Financial_Systems__c = 2;
        qSet.Control_Statements_For_Internal_Control__c = 2;
        qSet.Control_Statements_For_Financial_Report__c = 3;
        qSet.Control_Statements_For_Documentation__c = 3;
        qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
        qSet.Control_Statements_For_Other_Assets__c = 8;
        qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
        qSet.Maximum_Value_10_10__c = 2;
        qSet.Maximum_Value_1_10__c = 3;
        qSet.Maximum_Value_2_10__c = 4;
        qSet.Maximum_Value_3_2__c = 5;
        qSet.Maximum_Value_3_1__c = 2;
        qSet.Maximum_Value_3_3__c = 2;
        qSet.Maximum_Value_4_10__c = 6;
        qSet.Maximum_Value_9_4__c = 8;
        qSet.Maximum_Value_5_6__c = 2;
        qSet.Maximum_Value_6_18__c = 4;
        insert qSet;
        
        aSum = new Assessment_Summary__c();
        //aSum.Name = 'testAssesment';
        insert aSum;
      
        // create child records
        
        Financial_Personnel__c fPer = new Financial_Personnel__c();
        fPer.Assessment_Summary__c = aSum.Id;
        fper.Total_Maximum_Value__c = 4;
        fper.Question_Control_Set__c = qSet.Id;
        insert fPer;
      
        Financial_Reporting__c fRep = new Financial_Reporting__c ();
        fRep.Assessment_Summary__c = aSum.Id;
        fRep.Question_Control_Set__c = qSet.Id;
        insert fRep;
        
        Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
        docRec.Assessment_Summary__c = aSum.Id;
        docRec.Question_Control_Set__c = qSet.Id;
        insert docRec;
      
        Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
        otherAnP.Assessment_Summary__c = aSum.Id;
        otherAnp.Question_Control_Set__c = qSet.Id;
        insert otherAnP;
      
        Internal_Control__c iCon = new Internal_Control__c ();
        iCon.Assessment_Summary__c = aSum.Id;
        iCon.Question_Control_Set__c = qSet.Id;
        insert iCon;
      
        Financial_Systems__c fSys = new Financial_Systems__c();
        fSys.Question_Control_Set__c = qSet.Id;
        fSys.Assessment_Summary__c = aSum.Id;
        insert fSys;
      
        Inventory_Management__c invenMgmt = new Inventory_Management__c();
        invenMgmt.Question_Control_Set__c = qSet.Id;
        invenMgmt.Assessment_Summary__c = aSum.Id;
        insert invenMgmt;
        
        Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
        actionPlans.Related_HOCAI__c = aSum.Id;
        actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
        insert  actionPlans;
        
    }
}

for eg private static test(color c)

my test class is @isTest private class CRSImportTest {

static@isTest
private Assessment_Summary__cclass aSum;CRSImportTest {

static testMethod void myUnitTest() {
    
    String testData = 'SHEET: 1 - Financial Personnel';   
    // Start Test       
  static Assessment_Summary__c Test.startTest();aSum;
    
        createTestData();
        Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                             a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                             a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                             a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                             a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                             a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                             a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                             a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                             a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                             a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                             a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                             a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                             a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                             a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                             a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                             a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                             a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                             From Assessment_Summary__c a where Id = :aSum.Id];

        // verify the field Number_of_Control_Statements__c
        System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
     static testMethod void System.assertmyUnitTest( aSumResult.Number_of_Control_Statements__c == 27);                                                               {
        
        ApexPages.StandardControllerString sctestData = new'SHEET: ApexPages1 - Financial Personnel';   
        // Start Test       
        Test.StandardControllerstartTest(aSum);
        CRSImport 
 importController = new CRSImport        createTestData(sc);
        CRSImport    Assessment_Summary__c aSumResult = [Select a.importSheetCSV(aSumTotal_Score__c, a.IdTotal_Maximum_Value__c, testData);a.Total_Applicable_Value__c, 
        //CRSImport                                         a.importSheet(aSumTotal_Actual_Score__c, a.IdSystemModstamp,ICIPMap a.idOwnerId,testData); a.Number_of_Control_Statements__c, 
        //CRSImport                                         a.importSheet(aSumName, a.IdMaximum_Value_For_Receivables__c,'' a.Maximum_Value_For_Procurement__c,testData); 
    // Stop Test                                           a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
    Test                                             a.stopTest();Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                                 a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
}                                                 a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                                 a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
// create the dummy data                                             a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
static void createTestData() {                                              a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
    //Custom settings                                            a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
    ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');                                           a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
    action                                             a.Column_Name__c='10';Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
    action                                             a.Field_Name__c='6';Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
    insert action;                                            a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                                 a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                                 a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
    ICIPMapping__c ICIPMap=new ICIPMapping__c                                           From Assessment_Summary__c a where Id = :aSum.Id];
 
            // verify the field Number_of_Control_Statements__c
            System.assert(Name='test' aSumResult.Number_of_Control_Statements__c > 0);       
    ICIPMap        System.Field_Name__c='A75';
assert( aSumResult.Number_of_Control_Statements__c == 27);    insert ICIPMap;                                                          
            
    Question_Control_Set__c qSet = new Question_Control_Set__c();
    qSet.Is_Active__c = true;
    qSet.Control_Statements_For_Financial_Personn__c = 2;
    qSet.Control_Statements_For_Financial_Systems__c = 2;
    qSet.Control_Statements_For_Internal_Control__c = 2;
    qSet.Control_Statements_For_Financial_Report__c = 3;
    qSet.Control_Statements_For_Documentation__c = 3;
    qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
    qSet.Control_Statements_For_Other_Assets__c = 8;
    qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
    qSet.Maximum_Value_10_10__c = 2;
    qSet.Maximum_Value_1_10__c = 3;
    qSet.Maximum_Value_2_10__c = 4;
    qSet.Maximum_Value_3_2__c = 5;
    qSet.Maximum_Value_3_1__c = 2;
    qSet.Maximum_Value_3_3__c = 2;
    qSet.Maximum_Value_4_10__c = 6;
    qSet.Maximum_Value_9_4__c = 8;
    qSet.Maximum_Value_5_6__c = 2;
    qSetApexPages.Maximum_Value_6_18__c = 4;
    insert qSet;
    
   StandardController aSumsc = new Assessment_Summary__cApexPages.StandardController(aSum);
    //aSum.Name = 'testAssesment';
    insert aSum;
  
    // create child records
    
    Financial_Personnel__cCRSImport fPerimportController = new Financial_Personnel__cCRSImport(sc);
    fPer.Assessment_Summary__c = aSum.Id;
    fper.Total_Maximum_Value__c = 4;
    fper.Question_Control_Set__c = qSetCRSImport.Id;
    insert fPer;
  
    Financial_Reporting__c fRep = new Financial_Reporting__c importSheetCSV();
    fRep.Assessment_Summary__c = aSum.Id;
    fRep.Question_Control_Set__c = qSet.Id;
    insert fRep;
    
    Documentation_RecordKeeping__c docRec = newId, Documentation_RecordKeeping__c(testData);
    docRec.Assessment_Summary__c = aSum.Id;
    docRec.Question_Control_Set__c = qSet//CRSImport.Id;
    insert docRec;
  
    Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__cimportSheet();
    otherAnP.Assessment_Summary__c = aSum.Id;
    otherAnp.Question_Control_Set__c = qSetId,ICIPMap.Id;
    insert otherAnP;
  
    Internal_Control__c iCon = new Internal_Control__c (id,testData);
    iCon.Assessment_Summary__c = aSum.Id;
    iCon.Question_Control_Set__c = qSet.Id;
    insert iCon;
  
    Financial_Systems__c fSys = new Financial_Systems__c();
    fSys.Question_Control_Set__c = qSet.Id;
    fSys//CRSImport.Assessment_Summary__c = importSheet(aSum.Id;
    insert fSys;
  
    Inventory_Management__c invenMgmt = new Inventory_Management__c(Id,'',testData);
    invenMgmt.Question_Control_Set__c = qSet.Id;
    invenMgmt.Assessment_Summary__c = aSum.Id;
    insert invenMgmt;
  // Stop Test
    Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__cTest.stopTest();
    actionPlans.Related_HOCAI__c = aSum.Id;
    actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
    insert  actionPlans;}
    
    // create the dummy data
    static void createTestData() { 
        //Custom settings
        ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
        action.Column_Name__c='10';
        action.Field_Name__c='6';
        insert action;
         
        ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
        ICIPMap.Field_Name__c='A75';
        insert ICIPMap;
                
        Question_Control_Set__c qSet = new Question_Control_Set__c();
        qSet.Is_Active__c = true;
        qSet.Control_Statements_For_Financial_Personn__c = 2;
        qSet.Control_Statements_For_Financial_Systems__c = 2;
        qSet.Control_Statements_For_Internal_Control__c = 2;
        qSet.Control_Statements_For_Financial_Report__c = 3;
        qSet.Control_Statements_For_Documentation__c = 3;
        qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
        qSet.Control_Statements_For_Other_Assets__c = 8;
        qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
        qSet.Maximum_Value_10_10__c = 2;
        qSet.Maximum_Value_1_10__c = 3;
        qSet.Maximum_Value_2_10__c = 4;
        qSet.Maximum_Value_3_2__c = 5;
        qSet.Maximum_Value_3_1__c = 2;
        qSet.Maximum_Value_3_3__c = 2;
        qSet.Maximum_Value_4_10__c = 6;
        qSet.Maximum_Value_9_4__c = 8;
        qSet.Maximum_Value_5_6__c = 2;
        qSet.Maximum_Value_6_18__c = 4;
        insert qSet;
        
        aSum = new Assessment_Summary__c();
        //aSum.Name = 'testAssesment';
        insert aSum;
      
        // create child records
        
        Financial_Personnel__c fPer = new Financial_Personnel__c();
        fPer.Assessment_Summary__c = aSum.Id;
        fper.Total_Maximum_Value__c = 4;
        fper.Question_Control_Set__c = qSet.Id;
        insert fPer;
      
        Financial_Reporting__c fRep = new Financial_Reporting__c ();
        fRep.Assessment_Summary__c = aSum.Id;
        fRep.Question_Control_Set__c = qSet.Id;
        insert fRep;
        
        Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
        docRec.Assessment_Summary__c = aSum.Id;
        docRec.Question_Control_Set__c = qSet.Id;
        insert docRec;
      
        Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
        otherAnP.Assessment_Summary__c = aSum.Id;
        otherAnp.Question_Control_Set__c = qSet.Id;
        insert otherAnP;
      
        Internal_Control__c iCon = new Internal_Control__c ();
        iCon.Assessment_Summary__c = aSum.Id;
        iCon.Question_Control_Set__c = qSet.Id;
        insert iCon;
      
        Financial_Systems__c fSys = new Financial_Systems__c();
        fSys.Question_Control_Set__c = qSet.Id;
        fSys.Assessment_Summary__c = aSum.Id;
        insert fSys;
      
        Inventory_Management__c invenMgmt = new Inventory_Management__c();
        invenMgmt.Question_Control_Set__c = qSet.Id;
        invenMgmt.Assessment_Summary__c = aSum.Id;
        insert invenMgmt;
        
        Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
        actionPlans.Related_HOCAI__c = aSum.Id;
        actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
        insert  actionPlans;
        
    }
}

}

my test class is @isTest private class CRSImportTest {

static Assessment_Summary__c aSum;

static testMethod void myUnitTest() {
    
    String testData = 'SHEET: 1 - Financial Personnel';   
    // Start Test       
    Test.startTest();
    
        createTestData();
        Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                             a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                             a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                             a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                             a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                             a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                             a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                             a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                             a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                             a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                             a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                             a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                             a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                             a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                             a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                             a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                             a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                             From Assessment_Summary__c a where Id = :aSum.Id];

        // verify the field Number_of_Control_Statements__c
        System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
        System.assert( aSumResult.Number_of_Control_Statements__c == 27);                                                               
        
        ApexPages.StandardController sc = new ApexPages.StandardController(aSum);
        CRSImport importController = new CRSImport(sc);
        CRSImport.importSheetCSV(aSum.Id, testData);
        //CRSImport.importSheet(aSum.Id,ICIPMap.id,testData); 
        //CRSImport.importSheet(aSum.Id,'',testData);
    // Stop Test
    Test.stopTest();    
}

// create the dummy data
static void createTestData() { 
    //Custom settings
    ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
    action.Column_Name__c='10';
    action.Field_Name__c='6';
    insert action;
     
    ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
    ICIPMap.Field_Name__c='A75';
    insert ICIPMap;
            
    Question_Control_Set__c qSet = new Question_Control_Set__c();
    qSet.Is_Active__c = true;
    qSet.Control_Statements_For_Financial_Personn__c = 2;
    qSet.Control_Statements_For_Financial_Systems__c = 2;
    qSet.Control_Statements_For_Internal_Control__c = 2;
    qSet.Control_Statements_For_Financial_Report__c = 3;
    qSet.Control_Statements_For_Documentation__c = 3;
    qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
    qSet.Control_Statements_For_Other_Assets__c = 8;
    qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
    qSet.Maximum_Value_10_10__c = 2;
    qSet.Maximum_Value_1_10__c = 3;
    qSet.Maximum_Value_2_10__c = 4;
    qSet.Maximum_Value_3_2__c = 5;
    qSet.Maximum_Value_3_1__c = 2;
    qSet.Maximum_Value_3_3__c = 2;
    qSet.Maximum_Value_4_10__c = 6;
    qSet.Maximum_Value_9_4__c = 8;
    qSet.Maximum_Value_5_6__c = 2;
    qSet.Maximum_Value_6_18__c = 4;
    insert qSet;
    
    aSum = new Assessment_Summary__c();
    //aSum.Name = 'testAssesment';
    insert aSum;
  
    // create child records
    
    Financial_Personnel__c fPer = new Financial_Personnel__c();
    fPer.Assessment_Summary__c = aSum.Id;
    fper.Total_Maximum_Value__c = 4;
    fper.Question_Control_Set__c = qSet.Id;
    insert fPer;
  
    Financial_Reporting__c fRep = new Financial_Reporting__c ();
    fRep.Assessment_Summary__c = aSum.Id;
    fRep.Question_Control_Set__c = qSet.Id;
    insert fRep;
    
    Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
    docRec.Assessment_Summary__c = aSum.Id;
    docRec.Question_Control_Set__c = qSet.Id;
    insert docRec;
  
    Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
    otherAnP.Assessment_Summary__c = aSum.Id;
    otherAnp.Question_Control_Set__c = qSet.Id;
    insert otherAnP;
  
    Internal_Control__c iCon = new Internal_Control__c ();
    iCon.Assessment_Summary__c = aSum.Id;
    iCon.Question_Control_Set__c = qSet.Id;
    insert iCon;
  
    Financial_Systems__c fSys = new Financial_Systems__c();
    fSys.Question_Control_Set__c = qSet.Id;
    fSys.Assessment_Summary__c = aSum.Id;
    insert fSys;
  
    Inventory_Management__c invenMgmt = new Inventory_Management__c();
    invenMgmt.Question_Control_Set__c = qSet.Id;
    invenMgmt.Assessment_Summary__c = aSum.Id;
    insert invenMgmt;
    
    Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
    actionPlans.Related_HOCAI__c = aSum.Id;
    actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
    insert  actionPlans;
    
}

}

my test class is

@isTest
private class CRSImportTest {

    static Assessment_Summary__c aSum;
    
    static testMethod void myUnitTest() {
        
        String testData = 'SHEET: 1 - Financial Personnel';   
        // Start Test       
        Test.startTest();
         
            createTestData();
            Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                                 a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                                 a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                                 a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                                 a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                                 a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                                 a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                                 a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                                 a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                                 a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                                 a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                                 a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                                 a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                                 a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                                 a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                                 a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                                 a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                                 From Assessment_Summary__c a where Id = :aSum.Id];
 
            // verify the field Number_of_Control_Statements__c
            System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
            System.assert( aSumResult.Number_of_Control_Statements__c == 27);                                                               
            
            ApexPages.StandardController sc = new ApexPages.StandardController(aSum);
            CRSImport importController = new CRSImport(sc);
            CRSImport.importSheetCSV(aSum.Id, testData);
            //CRSImport.importSheet(aSum.Id,ICIPMap.id,testData); 
            //CRSImport.importSheet(aSum.Id,'',testData);
        // Stop Test
        Test.stopTest();    
    }
    
    // create the dummy data
    static void createTestData() { 
        //Custom settings
        ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
        action.Column_Name__c='10';
        action.Field_Name__c='6';
        insert action;
         
        ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
        ICIPMap.Field_Name__c='A75';
        insert ICIPMap;
                
        Question_Control_Set__c qSet = new Question_Control_Set__c();
        qSet.Is_Active__c = true;
        qSet.Control_Statements_For_Financial_Personn__c = 2;
        qSet.Control_Statements_For_Financial_Systems__c = 2;
        qSet.Control_Statements_For_Internal_Control__c = 2;
        qSet.Control_Statements_For_Financial_Report__c = 3;
        qSet.Control_Statements_For_Documentation__c = 3;
        qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
        qSet.Control_Statements_For_Other_Assets__c = 8;
        qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
        qSet.Maximum_Value_10_10__c = 2;
        qSet.Maximum_Value_1_10__c = 3;
        qSet.Maximum_Value_2_10__c = 4;
        qSet.Maximum_Value_3_2__c = 5;
        qSet.Maximum_Value_3_1__c = 2;
        qSet.Maximum_Value_3_3__c = 2;
        qSet.Maximum_Value_4_10__c = 6;
        qSet.Maximum_Value_9_4__c = 8;
        qSet.Maximum_Value_5_6__c = 2;
        qSet.Maximum_Value_6_18__c = 4;
        insert qSet;
        
        aSum = new Assessment_Summary__c();
        //aSum.Name = 'testAssesment';
        insert aSum;
      
        // create child records
        
        Financial_Personnel__c fPer = new Financial_Personnel__c();
        fPer.Assessment_Summary__c = aSum.Id;
        fper.Total_Maximum_Value__c = 4;
        fper.Question_Control_Set__c = qSet.Id;
        insert fPer;
      
        Financial_Reporting__c fRep = new Financial_Reporting__c ();
        fRep.Assessment_Summary__c = aSum.Id;
        fRep.Question_Control_Set__c = qSet.Id;
        insert fRep;
        
        Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
        docRec.Assessment_Summary__c = aSum.Id;
        docRec.Question_Control_Set__c = qSet.Id;
        insert docRec;
      
        Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
        otherAnP.Assessment_Summary__c = aSum.Id;
        otherAnp.Question_Control_Set__c = qSet.Id;
        insert otherAnP;
      
        Internal_Control__c iCon = new Internal_Control__c ();
        iCon.Assessment_Summary__c = aSum.Id;
        iCon.Question_Control_Set__c = qSet.Id;
        insert iCon;
      
        Financial_Systems__c fSys = new Financial_Systems__c();
        fSys.Question_Control_Set__c = qSet.Id;
        fSys.Assessment_Summary__c = aSum.Id;
        insert fSys;
      
        Inventory_Management__c invenMgmt = new Inventory_Management__c();
        invenMgmt.Question_Control_Set__c = qSet.Id;
        invenMgmt.Assessment_Summary__c = aSum.Id;
        insert invenMgmt;
        
        Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
        actionPlans.Related_HOCAI__c = aSum.Id;
        actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
        insert  actionPlans;
        
    }
}
added 6824 characters in body
Source Link
user42459
user42459

my test class is @isTest private class CRSImportTest {

static Assessment_Summary__c aSum;

static testMethod void myUnitTest() {
    
    String testData = 'SHEET: 1 - Financial Personnel';   
    // Start Test       
    Test.startTest();
    
        createTestData();
        Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                             a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                             a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                             a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                             a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                             a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                             a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                             a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                             a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                             a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                             a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                             a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                             a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                             a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                             a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                             a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                             a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                             From Assessment_Summary__c a where Id = :aSum.Id];

        // verify the field Number_of_Control_Statements__c
        System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
        System.assert( aSumResult.Number_of_Control_Statements__c == 27);                                                               
        
        ApexPages.StandardController sc = new ApexPages.StandardController(aSum);
        CRSImport importController = new CRSImport(sc);
        CRSImport.importSheetCSV(aSum.Id, testData);
        //CRSImport.importSheet(aSum.Id,ICIPMap.id,testData); 
        //CRSImport.importSheet(aSum.Id,'',testData);
    // Stop Test
    Test.stopTest();    
}

// create the dummy data
static void createTestData() { 
    //Custom settings
    ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
    action.Column_Name__c='10';
    action.Field_Name__c='6';
    insert action;
     
    ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
    ICIPMap.Field_Name__c='A75';
    insert ICIPMap;
            
    Question_Control_Set__c qSet = new Question_Control_Set__c();
    qSet.Is_Active__c = true;
    qSet.Control_Statements_For_Financial_Personn__c = 2;
    qSet.Control_Statements_For_Financial_Systems__c = 2;
    qSet.Control_Statements_For_Internal_Control__c = 2;
    qSet.Control_Statements_For_Financial_Report__c = 3;
    qSet.Control_Statements_For_Documentation__c = 3;
    qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
    qSet.Control_Statements_For_Other_Assets__c = 8;
    qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
    qSet.Maximum_Value_10_10__c = 2;
    qSet.Maximum_Value_1_10__c = 3;
    qSet.Maximum_Value_2_10__c = 4;
    qSet.Maximum_Value_3_2__c = 5;
    qSet.Maximum_Value_3_1__c = 2;
    qSet.Maximum_Value_3_3__c = 2;
    qSet.Maximum_Value_4_10__c = 6;
    qSet.Maximum_Value_9_4__c = 8;
    qSet.Maximum_Value_5_6__c = 2;
    qSet.Maximum_Value_6_18__c = 4;
    insert qSet;
    
    aSum = new Assessment_Summary__c();
    //aSum.Name = 'testAssesment';
    insert aSum;
  
    // create child records
    
    Financial_Personnel__c fPer = new Financial_Personnel__c();
    fPer.Assessment_Summary__c = aSum.Id;
    fper.Total_Maximum_Value__c = 4;
    fper.Question_Control_Set__c = qSet.Id;
    insert fPer;
  
    Financial_Reporting__c fRep = new Financial_Reporting__c ();
    fRep.Assessment_Summary__c = aSum.Id;
    fRep.Question_Control_Set__c = qSet.Id;
    insert fRep;
    
    Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
    docRec.Assessment_Summary__c = aSum.Id;
    docRec.Question_Control_Set__c = qSet.Id;
    insert docRec;
  
    Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
    otherAnP.Assessment_Summary__c = aSum.Id;
    otherAnp.Question_Control_Set__c = qSet.Id;
    insert otherAnP;
  
    Internal_Control__c iCon = new Internal_Control__c ();
    iCon.Assessment_Summary__c = aSum.Id;
    iCon.Question_Control_Set__c = qSet.Id;
    insert iCon;
  
    Financial_Systems__c fSys = new Financial_Systems__c();
    fSys.Question_Control_Set__c = qSet.Id;
    fSys.Assessment_Summary__c = aSum.Id;
    insert fSys;
  
    Inventory_Management__c invenMgmt = new Inventory_Management__c();
    invenMgmt.Question_Control_Set__c = qSet.Id;
    invenMgmt.Assessment_Summary__c = aSum.Id;
    insert invenMgmt;
    
    Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
    actionPlans.Related_HOCAI__c = aSum.Id;
    actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
    insert  actionPlans;
    
}

}

my test class is @isTest private class CRSImportTest {

static Assessment_Summary__c aSum;

static testMethod void myUnitTest() {
    
    String testData = 'SHEET: 1 - Financial Personnel';   
    // Start Test       
    Test.startTest();
    
        createTestData();
        Assessment_Summary__c aSumResult = [Select a.Total_Score__c, a.Total_Maximum_Value__c, a.Total_Applicable_Value__c, 
                                             a.Total_Actual_Score__c, a.SystemModstamp, a.OwnerId, a.Number_of_Control_Statements__c, 
                                             a.Name, a.Maximum_Value_For_Receivables__c, a.Maximum_Value_For_Procurement__c, 
                                             a.Maximum_Value_For_Other_Assets__c, a.Maximum_Value_For_Inventory_Management__c, 
                                             a.Maximum_Value_For_Internal_Control__c, a.Maximum_Value_For_Fixed_Assets__c, 
                                             a.Maximum_Value_For_Financial_Systems__c, a.Maximum_Value_For_Financial_Reporting__c, 
                                             a.Maximum_Value_For_Financial_Personnel__c, a.Maximum_Value_For_Doc_RecordKeeping__c, 
                                             a.Id, a.Applicable_Value_For_Receivables__c, a.Applicable_Value_For_Procurement__c, 
                                             a.Applicable_Value_For_Other_Assets__c, a.Applicable_Value_For_Inventory_Managemen__c, 
                                             a.Applicable_Value_For_Internal_Control__c, a.Applicable_Value_For_Fixed_Assets__c, 
                                             a.Applicable_Value_For_Financial_Systems__c, a.Applicable_Value_For_Financial_Reporting__c, 
                                             a.Applicable_Value_For_Financial_Personnel__c, a.Applicable_Value_For_Doc_RecordKeeping__c, 
                                             a.Actual_Score_For_Receivables__c, a.Actual_Score_For_Procurement__c, a.Actual_Score_For_Other_Assets__c, 
                                             a.Actual_Score_For_Inventory_Management__c, a.Actual_Score_For_Internal_Control__c, 
                                             a.Actual_Score_For_Fixed_Assets__c, a.Actual_Score_For_Financial_Systems__c, 
                                             a.Actual_Score_For_Financial_Reporting__c, a.Actual_Score_For_Financial_Personnel__c, 
                                             a.Actual_Score_For_Doc_RecordKeeping__c, a.Account__c 
                                             From Assessment_Summary__c a where Id = :aSum.Id];

        // verify the field Number_of_Control_Statements__c
        System.assert( aSumResult.Number_of_Control_Statements__c > 0);       
        System.assert( aSumResult.Number_of_Control_Statements__c == 27);                                                               
        
        ApexPages.StandardController sc = new ApexPages.StandardController(aSum);
        CRSImport importController = new CRSImport(sc);
        CRSImport.importSheetCSV(aSum.Id, testData);
        //CRSImport.importSheet(aSum.Id,ICIPMap.id,testData); 
        //CRSImport.importSheet(aSum.Id,'',testData);
    // Stop Test
    Test.stopTest();    
}

// create the dummy data
static void createTestData() { 
    //Custom settings
    ActionPlanMapping__c action=new ActionPlanMapping__c(Name='test');
    action.Column_Name__c='10';
    action.Field_Name__c='6';
    insert action;
     
    ICIPMapping__c ICIPMap=new ICIPMapping__c(Name='test');
    ICIPMap.Field_Name__c='A75';
    insert ICIPMap;
            
    Question_Control_Set__c qSet = new Question_Control_Set__c();
    qSet.Is_Active__c = true;
    qSet.Control_Statements_For_Financial_Personn__c = 2;
    qSet.Control_Statements_For_Financial_Systems__c = 2;
    qSet.Control_Statements_For_Internal_Control__c = 2;
    qSet.Control_Statements_For_Financial_Report__c = 3;
    qSet.Control_Statements_For_Documentation__c = 3;
    qSet.Control_Statements_For_Inventory_Mgmt__c = 7;
    qSet.Control_Statements_For_Other_Assets__c = 8;
    qSet.X3_6__c = 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq';
    qSet.Maximum_Value_10_10__c = 2;
    qSet.Maximum_Value_1_10__c = 3;
    qSet.Maximum_Value_2_10__c = 4;
    qSet.Maximum_Value_3_2__c = 5;
    qSet.Maximum_Value_3_1__c = 2;
    qSet.Maximum_Value_3_3__c = 2;
    qSet.Maximum_Value_4_10__c = 6;
    qSet.Maximum_Value_9_4__c = 8;
    qSet.Maximum_Value_5_6__c = 2;
    qSet.Maximum_Value_6_18__c = 4;
    insert qSet;
    
    aSum = new Assessment_Summary__c();
    //aSum.Name = 'testAssesment';
    insert aSum;
  
    // create child records
    
    Financial_Personnel__c fPer = new Financial_Personnel__c();
    fPer.Assessment_Summary__c = aSum.Id;
    fper.Total_Maximum_Value__c = 4;
    fper.Question_Control_Set__c = qSet.Id;
    insert fPer;
  
    Financial_Reporting__c fRep = new Financial_Reporting__c ();
    fRep.Assessment_Summary__c = aSum.Id;
    fRep.Question_Control_Set__c = qSet.Id;
    insert fRep;
    
    Documentation_RecordKeeping__c docRec = new Documentation_RecordKeeping__c();
    docRec.Assessment_Summary__c = aSum.Id;
    docRec.Question_Control_Set__c = qSet.Id;
    insert docRec;
  
    Other_Assets_and_Payables__c otherAnP = new Other_Assets_and_Payables__c();
    otherAnP.Assessment_Summary__c = aSum.Id;
    otherAnp.Question_Control_Set__c = qSet.Id;
    insert otherAnP;
  
    Internal_Control__c iCon = new Internal_Control__c ();
    iCon.Assessment_Summary__c = aSum.Id;
    iCon.Question_Control_Set__c = qSet.Id;
    insert iCon;
  
    Financial_Systems__c fSys = new Financial_Systems__c();
    fSys.Question_Control_Set__c = qSet.Id;
    fSys.Assessment_Summary__c = aSum.Id;
    insert fSys;
  
    Inventory_Management__c invenMgmt = new Inventory_Management__c();
    invenMgmt.Question_Control_Set__c = qSet.Id;
    invenMgmt.Assessment_Summary__c = aSum.Id;
    insert invenMgmt;
    
    Action_Planning_ICIP__c actionPlans = new Action_Planning_ICIP__c();
    actionPlans.Related_HOCAI__c = aSum.Id;
    actionPlans.Related_SRFMP_Assessment__c=aSum.Id;
    insert  actionPlans;
    
}

}

Code format + apex tag
Source Link
Martin Lezer
  • 7.3k
  • 5
  • 27
  • 41
Loading
Source Link
user42459
user42459
Loading