function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

Creating and Fetching Test Data in Controller Extension

Hello friends,


I need your help in Test class writing for Controller extension.


I have written the test case for Controller extension. I have created all the Test data and suppliying the test record in constructor of controller extension.


I knew that in test class, nothing is inserted into database and we just get the ID of record.

When i try to fetch the test record in Test class itself it is working fine However when i try to use same query in Controller extension, no records are returned.


That means i am not able to use any test data in Controller extension.



Some code snap i am using :

 static testMethod void testPaymentWizard_noApprovedAmount() {
        PageReference paymentPage = Page.PaymentWizard;    
		//Create temp User
        User testUser = UtilTest.getProgramUser();
		//Create temp data		
        List<Opportunity> oppList = UtilTest.getProposal_PayWizard();
        insert oppList;
        //Ensure that all 3 Opportunity inserted successfully
        System.assertNotEquals(oppList[0].Id, null);
        System.assertNotEquals(oppList[1].Id, null);
        System.assertNotEquals(oppList[2].Id, null);

		//Create temp data
        User pu = UtilTest.getProgramUser();
        	//set some dependent test data
            ApexPages.StandardController sc = new ApexPages.StandardController(oppList[2]);	        	
            sc = new ApexPages.StandardController(oppList[2]);
            pc = new PaymentController(sc);
            System.assertNotEquals(pc, null);
			//In this method Test data created is not available
            Pagereference firstPage = pc.processSelected();


Is something important i am missing here?


Thanks in advance.

Best Answer chosen by Admin (Salesforce Developers) 

It was so silly, Got the root cause :D


I was trying to access the record which was not inserted by current user.