0

I have a problema with a Class test in the wrapper class.. This is mi class and doesn't have any error:

public class ValeDeSalida_cls {
    private ApexPages.StandardController sc;
    public String PartesID {get;set;}
    public wrapperClass wc{get;set;}
    public List<wrapperClass> wrapClassList{get;set;}
    public String fechaFormato {get; set;}  
    public DateTime temp {get; set;} 

   public ValeDeSalida_cls(ApexPages.StandardController stdController) {
       sc=stdController;
       PartesID = ApexPages.currentPage().getParameters().get('id');
       temp = System.now();
       fechaFormato = formatoFecha(temp);

             try{
            //List<Vale_Salida_Productos__c> SalidaPartidas =[SELECT Id, Clave__c, Producto__c, Cantidad__c, Unidad__c,  Descripcion__c 
              //                                              FROM Vale_Salida_Productos__c where Vale_Salida_Productos__c.Id=:PartesID];        
            wrapClassList = new List<wrapperClass>();
                 List<Vale_Salida_Productos__c> SalidaPartidas =[SELECT Id, Clave__c, Producto__c, Cantidad__c, Unidad__c,  Descripcion__c 
                                                            FROM Vale_Salida_Productos__c where Vale_Salida_Productos__c.Id=:PartesID];
              for(Vale_Salida_Productos__c a: SalidaPartidas)
              {
                  wc = new wrapperClass();
                  wc.cantidad = string.ValueOf(a.Cantidad__c);
                  wc.unidad = a.Unidad__c;
                  wc.descripcion=a.Descripcion__c;
                  wc.clave=a.Clave__c;
                  wrapClassList.add(wc);
                  }
            }catch (Exception e) {
                System.debug('debug: ' + e.getMessage());
            }
   }

    public static String formatoFecha(DateTime fechaActual){
      DateTime temp = fechaActual;
      String FechaDias = temp.format('dd', 'America/Mexico_City');
      String FechaMes = temp.format('MM', 'America/Mexico_City');
      String FechaAnos = temp.format('yyyy','America/Mexico_City'); 
        if(FechaMes == '01'){FechaMes ='Enero';}
          else if(FechaMes == '02'){FechaMes ='Febrero';}
        else if(FechaMes == '03'){FechaMes ='Marzo';} 
        else if(FechaMes == '04'){FechaMes ='Abril';
        }else if(FechaMes == '05'){FechaMes ='Mayo';
        }else if(FechaMes == '06'){FechaMes ='Junio';
        }else if(FechaMes == '07'){FechaMes ='Julio';
        }else if(FechaMes == '08'){FechaMes ='Agosto';
        }else if(FechaMes == '09'){FechaMes ='Septiembre';
        }else if(FechaMes == '10'){FechaMes ='Octubre';
        }else if(FechaMes == '11'){FechaMes ='Noviembre';
        }else if(FechaMes == '12'){FechaMes ='Diciembre';
        }
    return FechaDias + ' de ' + FechaMes + ' de ' + FechaAnos;
    }

    // Clase Principal Wrapper
    public class wrapperClass{
        public String cantidad {get; set;}
        public String unidad {get; set;}
        public String descripcion {get; set;}
        public String clave {get; set;}
  }
}

And this is my test class

@isTest
public class ValedeSalidaTest {
@testSetup static void setup(){
        Vale_de_Salida__c Salida = new Vale_de_Salida__c();
        Salida.Name='0001';
        Salida.Persona_que_Solicita__c='ERICKA RAMIREZ';
        Salida.Fecha__c=Date.today();
        insert Salida;

       Vale_Salida_Productos__c Partidas = new Vale_Salida_Productos__c();
        Partidas.Nombre_Vale_de_Salida__c='a0km000000278PEAAY'; 
        Partidas.producto__c= '01tm00000040W4wAAE';
        Partidas.cantidad__c= 2;
        insert Partidas;  

       Vale_de_Entrada__c Entrada= new Vale_de_Entrada__c();
        Entrada.Name='Test';
        Entrada.Entrega__c='ERICKA RAMIREZ';
        Entrada.Fecha__c=Date.today();
        insert Entrada;
     }

    @isTest static void ValeSalida() {
        Test.startTest();
            Vale_de_Salida__c salida = [SELECT Id FROM Vale_de_Salida__c WHERE Name='0001' LIMIT 1];
            update salida;
            ApexPages.currentPage().getParameters().put('id', salida.Id);
            ApexPages.StandardController sc = new ApexPages.standardController(salida);
            ValeDeSalida_cls controller = new ValeDeSalida_cls(sc);
        Test.stopTest();
    }

    @isTest static void SalidawrapperClass() {
        Test.startTest();
        ValeDeSalida_cls.wrapperClass wrapperValor = new ValeDeSalida_cls.wrapperClass();
        wrapperValor.cantidad='1';
        wrapperValor.unidad='PIEZA';
        wrapperValor.descripcion='Bolsa para guardar documentos y artículos personales';
        wrapperValor.clave='16119';
        Test.stopTest();
    }
    @isTest static void FechaEnero() {
        Date d1 = system.today().addMonths(01);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaFebrero() {
        Date d1 = system.today().addMonths(02);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaMarzo() {
        Date d1 = system.today().addMonths(03);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaAbril() {
        Date d1 = system.today().addMonths(04);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaMayo() {
        Date d1 = system.today().addMonths(05);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaJunio() {
        Date d1 = system.today().addMonths(06);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaJulio() {
        Date d1 = system.today().addMonths(07);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaAgosto() {
        Date d1 = system.today().addMonths(08);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaSeptiembre() {
        Date d1 = system.today().addMonths(09);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaOctubre() {
        Date d1 = system.today().addMonths(10);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaNoviembre() {
        Date d1 = system.today().addMonths(11);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
    @isTest static void FechaDiciembre() {
        Date d1 = system.today().addMonths(12);
        String fecha = ValeDeSalida_cls.formatoFecha(d1);
    }
}

can you help me?

enter image description here

0

1 Answer 1

1

Your code should not be working; you need to insert new records as appropriate instead of using hard-coded ID values. The missing code coverage is related to the fact that no data was available to your class. Also, you performed no assertions, so you did not actually validate that the code was performing as expected. If you had written assertions, you would have realized that there was no data available in the unit test.

Not the answer you're looking for? Browse other questions tagged .