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
Guru RamGuru Ram 

can you please help me for writing the test class

public class MyCases {
    public list<Case> acc{get;set;}
    public String defaultLanguage{get;set;}
  public String selectedLanguage {get;set;}
    public MyOpenCases() {
        acc=new list<case>();
        onLoad();
                   
          defaultLanguage=userinfo.getLanguage();
                selectedLanguage  = defaultLanguage;
         }
    
    public void onLoad(){  //This function get called automatically on on load
 
        acc=[SELECT CaseNumber,Status,CreatedDate,ClosedDate FROM Case WHERE status='open' AND Limit 200 ];
 
 
    } 
}
Nayana KNayana K
[SELECT CaseNumber,Status,CreatedDate,ClosedDate FROM Case WHERE status='open' AND Limit 200 ]

This line worked for you??!!  It should be:
[SELECT CaseNumber,Status,CreatedDate,ClosedDate FROM Case WHERE status='open' Limit 200 ]

This code looks wrong. 

public MyOpenCases() {
        acc=new list<case>();
        onLoad();
                   
          defaultLanguage=userinfo.getLanguage();
                selectedLanguage  = defaultLanguage;
         }

class name and above method name is different. So it is not a constructor and it should have return type atleast void in this case!

I think your code is something like this:
public class MyCases {
    public list<Case> acc{get;set;}
    public String defaultLanguage{get;set;}
    public String selectedLanguage {get;set;}
    public MyCases() {
        acc=new list<case>();
        onLoad();
                   
          defaultLanguage=userinfo.getLanguage();
                selectedLanguage  = defaultLanguage;
         }
    
    public void onLoad(){  //This function get called automatically on on load
 
        acc=[SELECT CaseNumber,Status,CreatedDate,ClosedDate FROM Case WHERE status='open' Limit 200 ];
 
 
    } 
}

@IsTest
private class MyCasesTest 
{
	private static testMethod void testCases() 
	{
        List<Case> lstCase = new List<Case>();
        for(Integer i=0; i< 50; i++)
		{
			lstCase.add(new Case(Status = 'Open', 
                                        Origin = 'Email'
                                        ));
		}
        insert lstCase;
        MyCases inst = new MyCases();
        system.assertEquals(50, inst.acc.size());
	}

}



 
Matrix ReturnsMatrix Returns
@isTest
public class CaseTest{
@isTest static void CasesTestMethod1(){
     MyCases CaseTestInst=new MyCases();
        CaseTestInst.defaultLanguage='English';
          CaseTestInst.defaultLanguage='English';
        //    CaseTestInst.;
         List<Case> ac=new  List<Case>();
               Case case1=new Case();
               Case case2=new Case();
               Case case3=new Case();
               Case case4=new Case();
              // case1.Status='new';
               //insert case1;
               case1.Status='Open';
               insert case2;
               case3.Status='Open';
               insert case3;
               case4.Status='Open';
               insert case4;
               
             //  ac.add(case1);
                 ac.add(case2);
                   ac.add(case3);
                     ac.add(case4);
                List<Case> Testac=new  List<Case>();
                Testac=[SELECT CaseNumber,Status,CreatedDate FROM case WHERE status='open' ];
               CaseTestInst.onLoad();
             
             

     }
     @isTest static void CasesTestMethod2(){
     MyCases CaseTestInst=new MyCases();
        CaseTestInst.defaultLanguage='English';
          CaseTestInst.defaultLanguage='Hindi';
        //    CaseTestInst.;
              CaseTestInst.onLoad();
             

     }

}
Amit Chaudhary 8Amit Chaudhary 8

As suggested by Nayana K. Please update your apex class like below and remove AND from query
 
public class MyCases {
    public list<Case> acc{get;set;}
    public String defaultLanguage{get;set;}
  public String selectedLanguage {get;set;}
    public MyOpenCases() {
        acc=new list<case>();
        onLoad();
                   
          defaultLanguage=userinfo.getLanguage();
                selectedLanguage  = defaultLanguage;
         }
    
    public void onLoad(){  //This function get called automatically on on load
 
        acc=[SELECT CaseNumber,Status,CreatedDate,ClosedDate FROM Case WHERE status='open' Limit 200 ];
 
 
    } 
}
And try below try test class
@isTest
private class MyCases_Test 
{

    static testMethod void testCaseExt() 
	{
        Case cas = new Case(Status ='open', Priority = 'Medium', Origin = 'Email'); 
        insert cas;
		
		MyCases obj = new MyCases();
		obj.MyOpenCases();
		
		
    }
}
Let us know if this will help you