Skip to main content
Tara ch (VJohn) ha fatto una domanda in #Salesforce Developer

Hi All,

 

I am new to write Apex test class. Can one help me or suggest how to start writing apex text. Below is my Apex Class

 

public   class RadioBtn_SmileyTable_Apex

{    

    public RB_Rating__c ratobj {get;set;} 

    public user lgflag {get;set;}

    public string Selected {get;set;}

    public string EnteredText {get;set;}

    public string Redirect {get;set;}

    public string QAppname {get;set;}

    public string Qimprove {get;set;

   

    public RadioBtn_SmileyTable_Apex()

    {

      QAppname = 'How satisified you are with '+getAppName();

      Qimprove = 'How could we improve?';

    }    

 

    Public void SelectedAnswer()

    {        

        Selected = Apexpages.currentPage().getParameters().get('conid');

    }    

    

    public pagereference savefeedback()

    {       

            system.debug('Submit Started : '+ Redirect);

            RB_Rating__c ratobj = new RB_Rating__c();        

            ratobj.Application_Name__c = getAppName();        

        if(string.isBlank(Redirect))

                {            

                    ratobj.Application_Rating__c = Selected;   

          }

        else

          {

                 ratobj.Application_Rating__c = Redirect;  

                    

          }     

 

        ratobj.Description__c = EnteredText;

        insert ratobj;        

        updateflgusertb();

        return Auth.SessionManagement.FinishLoginflow('/'+ratobj.Id);

        

    }

    

    public static void updateflgusertb()

    {

        List<user> userupdate = new List<user>();        

        for(user usr : [SELECT id,Login_Flows_YN__c FROM USER WHERE ID = :UserInfo.getUserId() LIMIT 1])

        {

           usr.Login_Flows_YN__c = true;

            userupdate.add(usr);    

        }

        update userupdate;       

    } 

 

    public pagereference feedbackexit()

    {        

        updateexitcount();          

        

        return Auth.SessionManagement.FinishLoginflow('/');       

    }

    

    public void updateexitcount()

    {

        integer exitcnt;

        

        List<user> updatecnt = new List<user>();

        

        for(user cnt : [SELECT Rating_Exit_Count__c FROM USER WHERE ID = :UserInfo.getUserId() LIMIT 1])

        {

            

            if (cnt.Rating_Exit_Count__c == null)

            {

                cnt.Rating_Exit_Count__c = 0;

            }

            

            exitcnt = Integer.valueOf(cnt.Rating_Exit_Count__c) + 1;

            

            cnt.Rating_Exit_Count__c = exitcnt;

            updatecnt.add(cnt); 

            

        }

 

        update updatecnt; 

               

        if (exitcnt ==3)

        {

          insertzerorating();

        }

        

    }

    

    public pagereference loginflowsexornot()

    {

      

         lgflag =[SELECT Login_Flows_YN__c FROM USER WHERE ID = :UserInfo.getUserId() LIMIT 1];

        

        if (lgflag.Login_Flows_YN__c == true)

        {

           return Auth.SessionManagement.FinishLoginflow('/');

        }

        else

        {

            return null;

        }

        

    }

 

    public pagereference redirect()

    {        

       PageReference pg = new PageReference('/apex/Slider_Rating_Redir_VF?retURL='+Selected);

       Redirect = ApexPages.currentPage().getparameters().get('retURL');

       pg.setRedirect(false);

       return pg;    

    }

    

    public static String getAppName() 

    {

    UserAppInfo userAppInfo = [SELECT Id, AppDefinitionId FROM UserAppInfo WHERE UserId = :UserInfo.getUserId() LIMIT 1];

    AppDefinition appDefinition = [SELECT DurableId, Label FROM AppDefinition Where DurableId = :userAppInfo.AppDefinitionId LIMIT 1];

 

        return appDefinition.Label;  

    }

    

    public pagereference insertzerorating()

    {       

 

        RB_Rating__c ratobjZero = new RB_Rating__c();

        ratobjZero.Application_Name__c = getAppName();    

        ratobjZero.Application_Rating__c = '0';

        ratobjZero.Description__c = EnteredText;

        insert ratobjZero;      

       

        updateflgusertb();

               

        return Auth.SessionManagement.FinishLoginflow('/'+ratobjZero.Id);

        

    }

}

 

Thanks in advance. Please provide any sample code

2 risposte
0/9000