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
Mayur ShindeMayur Shinde 

Hi Team pls tell me how to Optimize my test class and also bulkify please its very urgent

@isTest
public class EventOrderController_Test { 
    
    public static Id Order_recordTypeId1 =Schema.SObjectType.Order.getRecordTypeInfosByName().get('As Applied').getRecordTypeId(); 

    public static testmethod void testAccountCreation()
    { 
         
        Account acc=New Account();
        acc.Name='C1-Ranch';
        acc.Type='Procepect';
        insert acc;
        
        Grower_Schedule__c gs=new Grower_Schedule__c();
        gs.Schedule_Name__c='Vincent-Palmetto';
        gs.Farming_Company__c=acc.Id;
        
        insert gs;

        Product2 prdRecd = new Product2();
        prdRecd.Name='Test Product';
        prdRecd .IsActive = true;
        prdRecd.ProductCode='prodcode';
        insert prdRecd ;
      
        Event__c evn=new Event__c();
        evn.Grower_Schedule__c =gs.Id;
        evn.of_REKS__c=1;
        evn.Products__c='test';
        insert evn;
      
      
      //  [Select Id,Name from Product2 where isActive =:true limit 1];
        Id stdPb =Test.getStandardPricebookId();
        //stdPb.isActive=true;
        //Id standardPriceBookId = stdPb.Id;
        
        PricebookEntry pbEntry = new PricebookEntry();
        pbEntry.Product2Id = prdRecd.Id;
        pbEntry.Pricebook2Id = '01so0000002VkziAAC';
        pbEntry.isActive=true;
       // pbEntry.currencyISOCode='USD';
        pbEntry.UnitPrice =20;
        insert pbEntry;

        Event_Product__c evenprod = new Event_Product__c();
        evenprod.Event__c= evn.Id;
        evenprod.Product__c =prdRecd.id;
        evenprod.Amount__c=10;
        evenprod.NOrder_Quantity__c=10;
        evenprod.Order_Quantity__c=5;
        insert evenprod;
         //evenprod.Grower_Schedule__c =gs.Id;
        
        order od=new order();
        od.Status='Draft';
        od.AccountId=acc.Id;
        od.Appointment_Time__c=System.today();
        od.EffectiveDate=System.today();
        od.RecordTypeId=Order_recordTypeId1;
        od.Acres__c=1;
        insert od;
        
        AssociatedSubPlot__c ASP=new AssociatedSubPlot__c();
        //ASP.Name=Name.Id;
        ASP.Grower_Schedule__c=gs.Id;
        insert ASP;
        
        Soil_Sample__c soilSamplRecd = new Soil_Sample__c();
        soilSamplRecd.Order__c=od.Id;
      // soilSamplRecd.Water_Source__c=WS.Id;
        insert soilSamplRecd;
        
        Associated_Sample_Zones__c ASZ= new Associated_Sample_Zones__c();
        ASZ.Name='Test Mighty';
        ASZ.Grower_Schedule__c=gs.Id;
        insert ASZ;
        
        Associated_Water_Sources__c AWS= new Associated_Water_Sources__c();
        AWS.Name='Test Mighty';
        AWS.Grower_Schedule__c=gs.Id;
        insert AWS;
        
        /*Water_Source__c WS =new Water_Source__c();
        WS.Ranch__c=acc.Id;
        WS.Source_Name__c='Test';
        WS.Type__c='Water Source - Well';
        insert WS;*/
      
        Test.StartTest(); 
        ApexPages.StandardController sc = new ApexPages.StandardController(evn);
        PageReference pageRef = Page.EventOrder; // Add your VF page Name here
        pageRef.getParameters().put('id', String.valueOf(evn.Id));
        Test.setCurrentPage(pageRef);
        EventOrderController testAccPlan = new EventOrderController(sc);
        
        /*  PageReference pageRef1 = Page.EventOrder; // Add your VF page Name here
pageRef1.getParameters().put('id', String.valueOf(od.RecordTypeId));
Test.setCurrentPage(pageRef1);*/

        Integer NextRowNumber = 1;
        Integer addcount=1;
        EventOrderController.PaymentWrapper paywrap = new EventOrderController.PaymentWrapper(NextRowNumber,evenprod);
        EventOrderController.PlantWrapper plntwrap = new EventOrderController.PlantWrapper(NextRowNumber,ASZ);
        EventOrderController.WaterWrapper wtrwrap = new EventOrderController.WaterWrapper(NextRowNumber,AWS);
        EventOrderController.PIWrapper piwrap=new EventOrderController.PIWrapper(NextRowNumber,ASP);
       
        
        testAccPlan.save(); //call all your function here
        testAccPlan.getPicklistvalues();
        testAccPlan.getWrappers();
        testAccPlan.cancel();
        testAccPlan.addRows();
        testAccPlan.delWrapper();
        testAccPlan.addPI();
        testAccPlan.delPI();
        testAccPlan.addPlant();
        testAccPlan.delPlant();
        testAccPlan.addWater();
        testAccPlan.delWater();
        testAccPlan.getPIWrappers();
        testAccPlan.getPlantWrapper();
        testAccPlan.getWaterWrapper();
        testAccPlan.toDelIdent = 10;
        testAccPlan.toDelIdents = 5;
        testAccPlan.toDelIdentPlnt = 6;
        testAccPlan.toDelIdentWtr = 7;
        testAccPlan.eventPrdct = evenprod;
        Test.StopTest();
        
    }
    public static testmethod void testAccountCreation2()
    { 
         
        Account acc=New Account();
        acc.Name='C1-Ranch';
        acc.Type='Procepect';
        insert acc;
        
        Grower_Schedule__c gs=new Grower_Schedule__c();
        gs.Schedule_Name__c='Vincent-Palmetto';
        gs.Farming_Company__c=acc.Id;
        
        insert gs;
        
        
        Product2 prdRecd = new Product2();
        prdRecd.Name='Test Product';
        prdRecd .IsActive = true;
        prdRecd.ProductCode='prodcode';
        insert prdRecd ;
      
       Event__c evn=new Event__c();
        evn.Grower_Schedule__c =gs.Id;
        evn.of_REKS__c=1;
        evn.Products__c='test';
        insert evn;
      
      
      //  [Select Id,Name from Product2 where isActive =:true limit 1];
        Id stdPb =Test.getStandardPricebookId();
        //stdPb.isActive=true;
        //Id standardPriceBookId = stdPb.Id;
        
        PricebookEntry pbEntry = new PricebookEntry();
        pbEntry.Product2Id = prdRecd.Id;
        pbEntry.Pricebook2Id = '01so0000002VkziAAC';
        pbEntry.isActive=true;
       // pbEntry.currencyISOCode='USD';
        pbEntry.UnitPrice =20;
        insert pbEntry;
        
        order od=new order();
        od.Status='Draft';
        od.AccountId=acc.Id;
        od.Appointment_Time__c=System.today();
        od.EffectiveDate=System.today();
        od.RecordTypeId=Order_recordTypeId1;
        od.Acres__c=1;
        insert od;
        
        AssociatedSubPlot__c ASP=new AssociatedSubPlot__c();
        //ASP.Name=Name.Id;
        ASP.Grower_Schedule__c=gs.Id;
        insert ASP;
        
        Soil_Sample__c soilSamplRecd = new Soil_Sample__c();
        soilSamplRecd.Order__c=od.Id;
      // soilSamplRecd.Water_Source__c=WS.Id;
        insert soilSamplRecd;
        
        Associated_Sample_Zones__c ASZ= new Associated_Sample_Zones__c();
        ASZ.Name='Test Mighty';
        ASZ.Grower_Schedule__c=gs.Id;
        insert ASZ;
    
        
        /*Water_Source__c WS =new Water_Source__c();
        WS.Ranch__c=acc.Id;
        WS.Source_Name__c='Test';
        WS.Type__c='Water Source - Well';
        insert WS;*/
      
        Test.StartTest(); 
        ApexPages.StandardController sc = new ApexPages.StandardController(evn);
        PageReference pageRef = Page.EventOrder; // Add your VF page Name here
        pageRef.getParameters().put('id', String.valueOf(evn.Id));
        Test.setCurrentPage(pageRef);
        EventOrderController testAccPlan = new EventOrderController(sc);
        
        /*  PageReference pageRef1 = Page.EventOrder; // Add your VF page Name here
pageRef1.getParameters().put('id', String.valueOf(od.RecordTypeId));
Test.setCurrentPage(pageRef1);*/

        Integer NextRowNumber = 1;
        Integer addcount=1;
        //EventOrderController.PaymentWrapper paywrap = new EventOrderController.PaymentWrapper(NextRowNumber,evenprod);
        EventOrderController.PlantWrapper plntwrap = new EventOrderController.PlantWrapper(NextRowNumber,ASZ);
        //EventOrderController.WaterWrapper wtrwrap = new EventOrderController.WaterWrapper(NextRowNumber,AWS);
        EventOrderController.PIWrapper piwrap=new EventOrderController.PIWrapper(NextRowNumber,ASP);
       
        
        testAccPlan.save(); //call all your function here
        testAccPlan.getPicklistvalues();
        testAccPlan.getWrappers();
        testAccPlan.cancel();
        //testAccPlan.addRows();
        testAccPlan.delWrapper();
        testAccPlan.addPI();
        testAccPlan.delPI();
        testAccPlan.addPlant();
        testAccPlan.delPlant();
        testAccPlan.addWater();
        testAccPlan.delWater();
        testAccPlan.getPIWrappers();
        testAccPlan.getPlantWrapper();
        testAccPlan.getWaterWrapper();
        testAccPlan.toDelIdent = 10;
        testAccPlan.toDelIdents = 5;
        testAccPlan.toDelIdentPlnt = 6;
        testAccPlan.toDelIdentWtr = 7;
      //  testAccPlan.eventPrdct = evenprod;
        Test.StopTest();
        
    }
    
}
above is my test class please help me.....