@isTest
|
private class SyncLostProductBatchTest {
|
|
@IsTest
|
static void TestMethod01() {
|
|
List<RecordType> rectLost = [select Id, Name from RecordType where IsActive = true and SobjectType = 'Lost_cancel_report__c' and DeveloperName IN ('PCL_Lost_report', 'PCL_Cancel_report') order by DeveloperName desc];
|
if (rectLost.size() == 0) {
|
throw new ControllerUtil.myException('not found Lost_cancel_report recodetype');
|
}
|
|
Product2 pro = new Product2();
|
pro.Name = 'test20240228';
|
pro.ProductClass__c = '镜子';
|
pro.ProductCategory__c = 'CHF纤维胆道镜';
|
pro.RecordTypeId = '012C80000000NIPIA2';
|
pro.Category5__c='竞争对手';
|
pro.IsActive=true;
|
insert pro;
|
|
Product2 pro1 = new Product2(Name='name01', Brand_Name__c='蛇牌',Category5__c='竞争对手',IsActive=true,Family='SP',Fixture_Model_No__c='n01',Serial_Lot_No__c='S/N tracing',Fixture_Model_No_T__c = 'n01',ProductCode_Ext__c='pc01',Manual_Entry__c=false);
|
pro1.RecordTypeId = '012C80000000NIPIA2';
|
insert pro1;
|
|
// 询价
|
Opportunity opp1 = new Opportunity(
|
Name='opp1', StageName='oppName', CloseDate=Date.today()
|
// ,Hospital__c = company1.Id,Department_Class__c = dc1s[0].Id,AccountId = depart1.Id
|
);
|
insert opp1;
|
|
//招标项目
|
Tender_information__c ten = new Tender_information__c();
|
ten.Name = 'QLMTEST08111057-02';
|
insert ten;
|
|
//招标-询价关系
|
Tender_Opportunity_Link__c tol = new Tender_Opportunity_Link__c();
|
tol.Opportunity__c = opp1.Id;
|
tol.CurrencyIsoCode = 'CNY';
|
tol.Tender_information__c = ten.Id;
|
StaticParameter.EscapeTOLinkTrigger = true;
|
insert tol;
|
StaticParameter.EscapeTOLinkTrigger = false;
|
|
//失单报告
|
Lost_cancel_report__c lcr1 = new Lost_cancel_report__c(
|
Opportunity__c = opp1.Id,RecordTypeId = rectLost[0].Id,
|
Report_Status__c = '批准');
|
insert lcr1;
|
|
//失单品牌1
|
PCLLostBrand__c pcllb1=new PCLLostBrand__c();
|
pcllb1.LostPrice__c=1332;
|
pcllb1.Lost_Reason_Sub__c='价格'; //原因次
|
pcllb1.Lost_reason_main__c='价格'; //原因主
|
pcllb1.Lost_By_Company__c='蛇牌'; //品牌(主)
|
// pcllb1.Agency__c=depart3.Id; //经销商
|
pcllb1.Lost_cancel_report__c=lcr1.Id;
|
insert pcllb1;
|
|
pro.ProductClass__c = '主机';
|
pro.ProductCategory__c = 'CV主机';
|
update pro;
|
|
//失单型号
|
PCLLostProduct__c pcllp1=new PCLLostProduct__c();
|
pcllp1.Quantity__c=2;
|
pcllp1.LostBrandName__c='蛇牌';
|
pcllp1.ProductClass__c='主机';
|
pcllp1.ProductCategory__c='CV主机';
|
pcllp1.LostProduct__c = pro1.Id; //产品Id
|
pcllp1.PCLLostBrand__c=pcllb1.Id; //询价失单品牌
|
insert pcllp1;
|
|
List<Product2> proList = new List<Product2>();
|
proList.add(pro1);
|
|
Test.startTest();
|
Database.executeBatch (new SyncLostProductBatch(proList),200);
|
Test.stopTest();
|
|
// List<String> str = new List<String>();
|
// str.add(TenInfo.Id);
|
|
// Test.StartTest();
|
// Database.executeBatch( new SyncLostProductBatch(str),100);
|
// Test.stopTest();
|
}
|
|
}
|