/** * 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 ReportCPileUpTriggerTest { static testMethod void myUnitTest() { Opportunity opp1 = new Opportunity(Name = 'opp1', StageName = '询价', CloseDate = Date.today()); Opportunity opp2 = new Opportunity(Name = 'opp2', StageName = '询价', CloseDate = Date.today()); insert new Opportunity[] {opp1, opp2}; RecordType opd = [select Id from RecordType where IsActive = true and DeveloperName = 'OPD' and SObjectType = 'Report__c']; Report__c rpt = new Report__c( RecordTypeId = opd.Id, Manual_Name__c = 'test hp', Opportunity1__c = opp1.Id, Opportunity2__c = opp1.Id, Opportunity3__c = opp1.Id, Opportunity4__c = opp1.Id, Opportunity5__c = opp1.Id, OPD_ProductCategory1__c ='3D System', OPD_ProductCategory2__c ='OR Imaging Products' ); insert rpt; opp1 = [select Num_Of_OPD__c from Opportunity where Id = :opp1.Id]; System.assertEquals(5, opp1.Num_Of_OPD__c); rpt.Opportunity1__c = opp2.Id; rpt.Opportunity2__c = opp2.Id; rpt.Opportunity3__c = opp2.Id; rpt.Opportunity4__c = opp2.Id; rpt.Opportunity5__c = opp2.Id; update rpt; opp1 = [select Num_Of_OPD__c from Opportunity where Id = :opp1.Id]; opp2 = [select Num_Of_OPD__c from Opportunity where Id = :opp2.Id]; System.assertEquals(0, opp1.Num_Of_OPD__c); System.assertEquals(5, opp2.Num_Of_OPD__c); delete rpt; opp2 = [select Num_Of_OPD__c from Opportunity where Id = :opp2.Id]; System.assertEquals(0, opp2.Num_Of_OPD__c); } }