Invalid type: PicklistMinhasOpcoes,Variable does not exist: pe

105 Views Asked by At

Error: Invalid type: PicklistMinhasOpcoes, Variable does not exist: pe

I'm trying to do a test class for this picklist controller but I keep getting this errors.

Controller:

public class PicklistMinhasOpcoes{
    public List<SelectOption> getMinhasOpcoes(){
        
        //Mapear o campo de lista de seleção/picklist que desejo listar    
        Schema.DescribeFieldResult describeResult = Lead_2__c.Status_do_Lead__c.getDescribe();
        
        //listar as opções válidas dentro do meu campo
        List<Schema.PicklistEntry> entries = describeResult.getPickListValues();
        
        //Cria variável de retorno do tipo de lista para o objeto SelectOption       
        List<SelectOption> optionsToReturn = new List<SelectOption>();
        
        //Adiciona as opções do campo listadas
        for(Schema.PicklistEntry pEntry : entries){
            
            //se a opção esta ativa
            //Ou pode aplicar o filtro que quiser, caso não queira mostrar todas as opções
            if(pEntry.isActive()){
                //Adiciona o nome e o valor na variável retorno
                optionsToReturn.add(new SelectOption(pEntry.getValue(), pEntry.getLabel()));
            }
            
        }
        //Retorna a lista de selectOption criamos na variável de retorno
        return optionsToReturn;     
        
    }   
} 

Test Class:

@isTest
    public static void testPicklist() {
    
    PicklistMinhasOpcoes pe = new PicklistMinhasOpcoes();
    
    Test.startTest();
    List<SelectOption> options = pe.getMinhasOpcoes();
    Test.stopTest();
    
    system.assertEquals(options.get(0).getValue(), 'None');
}
1

There are 1 best solutions below

0
filipoow On

SORTED OUT / Basically I did the same method but I got rid of the class PicklistStatus.

This is picklist method now that I put in leadController:

public List<SelectOption> getPicklistStatus(){
        
        //Mapear o campo de lista de seleção/picklist que desejo listar    
        Schema.DescribeFieldResult describeResult = Lead_2__c.Status_do_Lead__c.getDescribe();
        
        //listar as opções válidas dentro do meu campo
        List<Schema.PicklistEntry> entries = describeResult.getPickListValues();
        
        //Cria variável de retorno do tipo de lista para o objeto SelectOption       
        List<SelectOption> optionsToReturn = new List<SelectOption>();
        
        //Adiciona as opções do campo listadas
        for(Schema.PicklistEntry pEntry : entries){
            
            //se a opção esta ativa
            //Ou pode aplicar o filtro que quiser, caso não queira mostrar todas as opções
            if(pEntry.isActive()){
                //Adiciona o nome e o valor na variável retorno
                optionsToReturn.add(new SelectOption(pEntry.getValue(), pEntry.getLabel()));
            }
            
        }
        //Retorna a lista de selectOption criamos na variável de retorno
        return optionsToReturn;     
        
    }   

And this is the method I use in the test class:

static testMethod void testPicklist1() {
    
    LeadController pe = new LeadController();

    Test.startTest();
        List<SelectOption> options = pe.getPicklistStatus();
    Test.stopTest();
    
    system.assertEquals(options.get(0).getValue(), 'None');
}

The error was the wrong Object that I was using.