/** * This class contains unit tests for validating the behavior of Apex classes * and triggers. * * Unit tests are class methods that verify whether a particular piece * of code is working properly. Unit test methods take no arguments, * commit no data to the database, and are flagged with the testMethod * keyword in the method definition. * * All test methods in an organization are executed whenever Apex code is deployed * to a production organization to confirm correctness, ensure code * coverage, and prevent regressions. All Apex classes are * required to have at least 75% code coverage in order to be deployed * to a production organization. In addition, all triggers must have some code coverage. * * The @isTest class annotation indicates this class only contains test * methods. Classes defined with the @isTest annotation do not count against * the organization size limit for all Apex scripts. * * See the Apex Language Reference for more information about Testing and Code Coverage. */ @isTest private class SaveLeadFromReportControllerTest { static testMethod void myUnitTest() { Daily_Report__c dr = new Daily_Report__c( Reported_Date__c = Date.today(), Reporter__c = Userinfo.getUserId() ); insert dr; Event__c ec = new Event__c( Daily_Report__c = dr.Id, StartDateTime__c = System.now(), EndDateTime__c = System.now(), Subject__c = 'Subject', Location__c = 'Location', ActivityDate__c = dr.Reported_Date__c ); insert ec; Lead ld = new Lead( LastName = 'last name', Company = 'company' ); insert ld; ApexPages.currentPage().getParameters().put('eid', ec.Id); ApexPages.currentPage().getParameters().put('newid', ld.Id); SaveLeadFromReportController slf = new SaveLeadFromReportController(); slf.init(); ec = [select Lead_ID__c, Lead_Count__c from Event__c where Id = :ec.Id]; System.assertEquals(ld.Id, ec.Lead_ID__c); System.assertEquals(1, ec.Lead_Count__c); } }