Skip to main content
// Please help me in writing test class for this custome controller in

// visualforce page

public class Cont_ServiceFieldManagement {

    list<String> sendingTo =new list<string>();

    list<id> idListAgent=new list<id>();

    set<id> idsetCustomer=new set<id>();

    public string agentId{get;set;}

    public list<field_Agent__c> agent{get;set;}

    public string agentCity {get;set;}

    public list<Customer_Service__c> orders{get;set;}

    public Customer_Service__c customer{get;set;}

    public string ProductName{get;set;}

    public date PurchaseDate{get;set;}

    public string serviceNeeded{get;set;}

    public string customerName{get;set;}

    public string phone{get;set;}

    public string email{get;set;}

    public string city{get;set;}

    public string address{get;set;}

    

    public Cont_ServiceFieldManagement(){

        

    }

    public pagereference save(){

        Customer_Service__c cust=new Customer_Service__c();

        cust.Product_Name__c=ProductName;

        cust.Purchase_Date__c=PurchaseDate;

        cust.Service_Required__c=serviceNeeded;

        cust.Customer_Name__c=customerName;

        cust.Phone__c=phone;

        cust.Email__c=email;

        cust.Submission_Date__c=date.today();

        cust.City__c=city;

        cust.Address__c=address;

        insert cust;

        PageReference tempPage = ApexPages.currentPage();            

        tempPage.setRedirect(true);

        return tempPage;

    }

    public pagereference cancel(){

        PageReference tempPage = ApexPages.currentPage();            

        tempPage.setRedirect(true);

        return tempPage;

        

    }

    public pagereference getorders(){

        orders=[select id,Product_Name__c,Customer_Name__c,city__c,field_agent__c from Customer_Service__c where city__c=:agentCity and field_agent__c=null];

        for(Customer_Service__c cust:orders){

                idsetCustomer.add(cust.id);

            

        }

        return null;

    }

    public pagereference getAgent(){

       agent=[select id,name,phone__c,email__c,city__c from field_agent__c where city__c=:agentCity] ;

        for(field_agent__c ag:agent){

                idListAgent.add(ag.id);

            sendingTo.add(ag.email__c);

        }

        return null;

    }

    public pagereference AssignAgent(){

        list<Customer_Service__c> custList=new list<Customer_Service__c>();

        list<Customer_Service__c> customerList=[select id,Product_Name__c,field_agent__c,status__c from Customer_Service__c where id in:idsetCustomer];

        for(Customer_Service__c cust:customerList){

            cust.Field_Agent__c=idListAgent[0];

            cust.status__c='Assigned';

             custList.add(cust);  

        }

        

        update custList;

        return null;

    }

    public pagereference sendEmail(){

        Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage();

        semail.setToAddresses(sendingTo);

        semail.setSubject('New Work Order Assigned To You!!!');

        semail.setPlainTextBody('Hello!!!!! You have been assigned to new work orders');

        Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail});

        PageReference tempPage = ApexPages.currentPage();            

        tempPage.setRedirect(true);

        return tempPage;

   }

}
1 answer
  1. Feb 11, 2021, 7:09 AM
    HI Chauhan,

    Since this code is huge and requires an understanding of your implementation, it might not be possible to provide exact edit suggestions. However, the example listed in  https://jayakrishnasfdc.wordpress.com/2021/01/02/apex-test-class-for-visual-force-vf-pages-controller-extension/ should help you get started.

    https://salesforce.stackexchange.com/questions/244788/how-do-i-write-an-apex-unit-test

    https://developer.salesforce.com/forums/?id=9060G000000Bj8MQAS

    If this information helps, please mark the answer as best.Thank you
0/9000