@isTest
|
private class lexPCLLostReportLwcControllerTest {
|
|
@TestSetup
|
static void makeData(){
|
PCLLostProduct2AssetHandlerTest.setUp();
|
}
|
static testMethod void testInitCreate(){
|
List<Lost_cancel_report__c> report = [select Id from Lost_cancel_report__c];
|
delete report;
|
Opportunity opp = [select Id from Opportunity limit 1];
|
Test.startTest();
|
lexPCLLostReportLwcController.init('' + opp.Id,'','Create','失单','');
|
Test.stopTest();
|
}
|
static testMethod void testInitCreate1(){
|
Opportunity opp = [select Id from Opportunity limit 1];
|
Test.startTest();
|
lexPCLLostReportLwcController.init('' + opp.Id,'','Create','失单','');
|
Test.stopTest();
|
}
|
static testMethod void testInitView(){
|
Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Test.startTest();
|
lexPCLLostReportLwcController.init('','' + report.Id,'View','','');
|
Test.stopTest();
|
}
|
static testMethod void testOther(){
|
Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Test.startTest();
|
lexPCLLostReportLwcController.getUserProfileId();
|
lexPCLLostReportLwcController.getPickList('PCLLostProduct__c','ProductCategory__c');
|
lexPCLLostReportLwcController.searchBrands();
|
lexPCLLostReportLwcController.searchBatchIfForProduct('');
|
lexPCLLostReportLwcController.getNewLostBrand(0);
|
lexPCLLostReportLwcController.getNewLostProduct(0);
|
Test.stopTest();
|
}
|
static testMethod void testSave(){
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
|
insert myAccount2;
|
// Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Account depart1 = [select Id from Account limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = myAccount2.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
Map<String,String> maps = lexPCLLostReportLwcController.dataEntry(JSON.serialize(conTest2),new List<Id>(),new List<Id>());
|
lexPCLLostReportLwcController.searchProduct(conTest2.LostBrands[0].LostProducts[0].LostProductss.Id);
|
System.debug('chenjingwu=>'+ maps.get('error'));
|
|
Test.stopTest();
|
}
|
|
static testMethod void testSubmit(){
|
Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单' limit 1];
|
Account depart1 = [select Id from Account where RecordTypeId = '01210000000QemG' limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = depart1.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
lexPCLLostReportLwcController.submit('草案',false,report.Id);
|
Test.stopTest();
|
}
|
|
static testMethod void testSubmit1(){
|
Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单' limit 1];
|
Account depart1 = [select Id from Account where RecordTypeId = '01210000000QemG' limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = depart1.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
lexPCLLostReportLwcController.submit('草案',false,report.Id);
|
lexPCLLostReportLwcController.submit('草案',false,report.Id);
|
Test.stopTest();
|
}
|
|
static testMethod void TestSubmitForApproval2(){
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
|
insert myAccount2;
|
// Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Account depart1 = [select Id from Account limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = myAccount2.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
Map<String,String> maps = lexPCLLostReportLwcController.dataEntry(JSON.serialize(conTest2),new List<Id>(),new List<Id>());
|
LostReport re = (LostReport)JSON.deserialize(maps.get('LostReport'), LostReport.class);
|
lexPCLLostReportLwcController.submit('草案',false,re.lostReport.Id);
|
lexPCLLostReportLwcController.submitForApproval(re.lostReport.Id,'','Approve');
|
lexPCLLostReportLwcController.submitForApproval(re.lostReport.Id,'','Removed');
|
Test.stopTest();
|
}
|
static testMethod void TestSubmitForApproval1(){
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
|
insert myAccount2;
|
// Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Account depart1 = [select Id from Account limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = myAccount2.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
Map<String,String> maps = lexPCLLostReportLwcController.dataEntry(JSON.serialize(conTest2),new List<Id>(),new List<Id>());
|
LostReport re = (LostReport)JSON.deserialize(maps.get('LostReport'), LostReport.class);
|
lexPCLLostReportLwcController.submit('草案',false,re.lostReport.Id);
|
lexPCLLostReportLwcController.submitForApproval(re.lostReport.Id,'','Reject');
|
Test.stopTest();
|
}
|
|
static testMethod void TestSubmitForApproval5(){
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
|
insert myAccount2;
|
// Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Account depart1 = [select Id from Account limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = myAccount2.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
lexPCLLostReportLwcController.submit('草案',false,conTest2.lostReport.Id);
|
lexPCLLostReportLwcController.submitForApproval(conTest2.lostReport.Id,'','Reject');
|
Test.stopTest();
|
}
|
|
static testMethod void TestSubmitForApproval3(){
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
|
insert myAccount2;
|
// Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Account depart1 = [select Id from Account limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = myAccount2.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
Map<String,String> maps = lexPCLLostReportLwcController.dataEntry(JSON.serialize(conTest2),new List<Id>(),new List<Id>());
|
LostReport re = (LostReport)JSON.deserialize(maps.get('LostReport'), LostReport.class);
|
lexPCLLostReportLwcController.submit('草案',false,re.lostReport.Id);
|
lexPCLLostReportLwcController.reassignStep(re.lostReport.Id,UserInfo.getUserId());
|
Test.stopTest();
|
}
|
|
static testMethod void TestSubmitForApproval4(){
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
|
insert myAccount2;
|
// Lost_cancel_report__c report = [select Id from Lost_cancel_report__c where LostType__c = '失单'];
|
Account depart1 = [select Id from Account limit 1];
|
LostReport conTest2 = new LostReport();
|
conTest2.lostReport.LostType__c = '失单';
|
conTest2.lostReport.Opportunity__c = [select Id from Opportunity limit 1].Id;
|
conTest2.LostBrands[0].lostBrand.LostPrice__c = 12;
|
conTest2.LostBrands[0].lostBrand.Lost_reason_main__c = '价格';
|
conTest2.LostBrands[0].LostProducts[0].LostProductss.Quantity__c =3;
|
conTest2.LostBrands[0].lostBrand.Agency__c = myAccount2.Id;
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company__c = '其他';
|
conTest2.LostBrands[0].lostBrand.Lost_By_Company_Mannual__c = 'dddddd';
|
conTest2.LostBrands[0].LostProducts[0].lineNo2 = 0;
|
conTest2.LostBrands[0].LostProducts[0].LostProductss = new PCLLostProduct__c(Quantity__c = 3);
|
|
Test.startTest();
|
Map<String,String> maps = lexPCLLostReportLwcController.dataEntry(JSON.serialize(conTest2),new List<Id>(),new List<Id>());
|
LostReport re = (LostReport)JSON.deserialize(maps.get('LostReport'), LostReport.class);
|
lexPCLLostReportLwcController.submit('草案',false,re.lostReport.Id);
|
lexPCLLostReportLwcController.init('','' + re.lostReport.Id,'View','','');
|
Test.stopTest();
|
}
|
|
// 页面的数据结构
|
public class LostReport {
|
@AuraEnabled
|
public Lost_cancel_report__c lostReport { get; set; }
|
@AuraEnabled
|
public list<LostBrand> LostBrands { get; set; }
|
@AuraEnabled
|
public list<ProcessInstanceHistory> approvalHistorys { get; set; }
|
public LostReport(){
|
lostReport = new Lost_cancel_report__c();
|
LostBrands = new list<LostBrand> {new LostBrand(0)};
|
approvalHistorys = new list<ProcessInstanceHistory>();
|
}
|
public LostReport(Lost_cancel_report__c lostReport){
|
this.lostReport = lostReport;
|
LostBrands = new list<LostBrand> {new LostBrand(0)};
|
approvalHistorys = new list<ProcessInstanceHistory>();
|
}
|
public LostReport(Lost_cancel_report__c lostReport, list<LostBrand> LostBrands){
|
this.lostReport = lostReport;
|
this.LostBrands = LostBrands;
|
approvalHistorys = new list<ProcessInstanceHistory>();
|
}
|
}
|
|
public class LostBrand {
|
@AuraEnabled
|
public PCLLostBrand__c lostBrand;
|
@AuraEnabled
|
public Integer lineNo;
|
@AuraEnabled
|
public list<PCLLostProducts> LostProducts;
|
@AuraEnabled
|
public Integer ProductSize;
|
@AuraEnabled
|
public Boolean reasonFlag = false;
|
@AuraEnabled
|
public String brandTitle;
|
public LostBrand( integer lineNo ){
|
lostBrand = new PCLLostBrand__c();
|
this.lineNo = lineNo;
|
this.brandTitle = '失单品牌' + (lineNo + 1);
|
LostProducts = new list<PCLLostProducts> {new PCLLostProducts()};
|
ProductSize = 1;
|
lostBrand = new PCLLostBrand__c();
|
}
|
public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts ){
|
lostBrand = new PCLLostBrand__c();
|
this.lineNo = lineNo;
|
this.brandTitle = '失单品牌' + (lineNo + 1);
|
this.LostProducts = LostProducts;
|
ProductSize = LostProducts.size();
|
}
|
public LostBrand( integer lineNo, list<PCLLostProducts> LostProducts, PCLLostBrand__c lostBrand){
|
this.lostBrand = lostBrand;
|
this.lineNo = lineNo;
|
this.brandTitle = '失单品牌' + (lineNo + 1);
|
this.LostProducts = LostProducts;
|
ProductSize = LostProducts.size();
|
}
|
}
|
// add tcm 20211119 start
|
public class PCLLostProducts {
|
@AuraEnabled
|
public Integer lineNo2;
|
@AuraEnabled
|
public PCLLostProduct__c LostProductss;
|
@AuraEnabled
|
public Boolean bool;
|
@AuraEnabled
|
public String productName;
|
@AuraEnabled
|
public List<Map<String, String>> productOptions = new List<Map<String, String>>();
|
public PCLLostProducts() {
|
this.lineNo2 = 0;
|
this.LostProductss=new PCLLostProduct__c();
|
}
|
|
public PCLLostProducts(Integer lineNo2) {
|
this.lineNo2 = lineNo2;
|
this.LostProductss=new PCLLostProduct__c();
|
}
|
|
public PCLLostProducts(Integer lineNo2,PCLLostProduct__c LostProductss) {
|
this.lineNo2 = lineNo2;
|
this.LostProductss=LostProductss;
|
if (LostProductss.LostProduct__c != null) {
|
this.bool = true;
|
}
|
}
|
}
|
|
}
|