/**
|
* 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);
|
}
|
}
|