You need to sign in to do that
Don't have an account?
How to write test case for Displaying Dynamic picklist
I have a dynamic picklist that I am displaying on the visualforce page.
Here is my visualforce code:
<apex:selectList value="{!SelectedNomination}" size="1" id="a">
<apex:selectOptions value="{!contactlist}">
</apex:selectOptions> </apex:selectList>
Here is my apex code:
public List<SelectOption> contactlist
{
get
{
String state = application.Congressional_State_Territory__c.substring(0,2);
Nominators = [Select Id, Name, Class_Year__c, Contact_Name__c, Nominator_Code__c, Nominator_Type__c from Nominator__c WHERE FirstTwoLetters__c =: state and Nominator_Type__c= 'Congressional - House' and Class_Year__c =: application.Class_Year__c and Status__c =:'Active' ORDER BY Name ASC ];
contactlist = new List<SelectOption>();
for(Nominator__c nom : Nominators)
{
contactlist.add(new SelectOption(nom.Id, nom.Name + ' ' + nom.Contact_Name__c));
}
return contactlist;
}
set {}
}
Here is my Test class:
List<Nominator__c> nomList = new List<Nominator__c>();
Nominator__c nominator = new Nominator__c();
nominator.Name= 'Florida District 2';
nominator.Class_Year__c= '2023';
nominator.Contact_Name__c= 'ABCD';
nominator.Nominator_Code__c= 'GA02';
nominator.Nominator_Type__c= 'Congressional - House';
nomList.add(nominator);
nominator = new Nominator__c();
nominator.Name= 'Georgia District 9';
nominator.Class_Year__c= '2023';
nominator.Contact_Name__c= 'xyz';
nominator.Nominator_Code__c= 'GA09';
nominator.Nominator_Type__c= 'Congressional - House';
nomList.add(nominator);
system.runas(ownerUser){
insert nomList;
}
system.runAs(u){
usafa_PCQPage3Controller controllerClass = new usafa_PCQPage3Controller();
List<SelectOption> options=controllerClass.contactlist;
System.assertEquals(options.size(), 2);
}
}
When I run the test, I get the following error it fails and gives me the following error on this line
List<SelectOption> options=controllerClass.contactlist;
System.NullPointerException: Attempt to de-reference a null object