From f24a5026dbfb2981e234ce46ed503584c03ce420 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <tuhuanghao@prec-tech.com>
Date: 星期一, 18 四月 2022 17:49:35 +0800
Subject: [PATCH] SelectAssetEstimateVMController
---
force-app/main/default/classes/RepairTriggerTester.cls | 111 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 94 insertions(+), 17 deletions(-)
diff --git a/force-app/main/default/classes/RepairTriggerTester.cls b/force-app/main/default/classes/RepairTriggerTester.cls
index 426e847..368deaa 100644
--- a/force-app/main/default/classes/RepairTriggerTester.cls
+++ b/force-app/main/default/classes/RepairTriggerTester.cls
@@ -7,7 +7,7 @@
StaticParameter.EscapeNFM001Trigger = true;
// 鐥呴櫌銈掍綔銈�
Account hospital = new Account();
- hospital.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = 'HP'].id;
+ hospital.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = :'HP'].id;
hospital.Name = hospitalName;
insert hospital;
StaticParameter.EscapeAccountTrigger = true;
@@ -23,7 +23,7 @@
static Account createDep( Account hospital, Account strategicDep) {
// 瑷虹檪绉戙倰浣溿倠
Account dep = new Account();
- dep.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = 'Department_GI'].id;
+ dep.recordtypeId = [Select Id FROM RecordType WHERE DeveloperName = :'Department_GI'].id;
dep.Name = 'test dep';
dep.ParentId = strategicDep.Id;
dep.Department_Class__c = strategicDep.Id;
@@ -111,7 +111,9 @@
contract.Contract_Start_Date__c = Date.today().addDays( -10); // 10鏃ュ墠
contract.Contract_End_Date__c = Date.today().addDays( 5); // 5鏃ュ緦
contract.SalesOfficeCode_selection__c = '鍖椾含RC';
- contract.RecordTypeId='01210000000gTYv';
+ ID RecordTypeId = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByName().get('澶氬勾淇濆悎鍚�').getRecordTypeId();
+ // contract.RecordTypeId='01210000000gTYv';
+ contract.RecordTypeId=RecordTypeId;
insert contract;
return contract;
@@ -146,14 +148,84 @@
}
//闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧娴嬭瘯 FXK 2021/3/8 Start
static testMethod void test03(){
+ Oly_TriggerHandler.bypass('AccountTrigger');
+ Oly_TriggerHandler.bypass('RepairHandler');
+ Oly_TriggerHandler.bypass('RepairBeforeInsertHandler');
+ Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
+ Oly_TriggerHandler.bypass('PaymentMaintenanceContractTriggerHandler');
+ Oly_TriggerHandler.bypass('SetContractEstimatePriceHandler');
+ Oly_TriggerHandler.bypass('SyncRepairFromMCAETrigger');
+ Oly_TriggerHandler.bypass('ContactTriggerHandler');
+ StaticParameter.EscapeMaintenanceContractAfterUpdateTrigger = true;
+ StaticParameter.EscapeNFM001Trigger = true;
+ StaticParameter.EscapeNFM001AgencyContractTrigger = true;
+ StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
+ StaticParameter.EscapeSyncProduct2Trigger = true;
+ StaticParameter.EscapeContactInsUpdUser = true;
+ StaticParameter.EscapeContactToUser = true;
+ StaticParameter.EscapeNFM010UpsertStatuAchievementsTrigger = true;
+ StaticParameter.EscapeAccountTrigger = true;
+ StaticParameter.EscapeNFM106Trigger = true;
//瀹㈡埛
- Account hospital = createHospital( 'test hospital');
- Account[] strategicDep = selectStrategicDep( hospital);
- Account dep = createDep( hospital, strategicDep[0]);
+ // Account hospital = createHospital( 'test hospital');
+ // Account[] strategicDep = selectStrategicDep( hospital);
+ // Account dep = createDep( hospital, strategicDep[0]);
// 淇濇湁璁惧
- Asset asset = createAsset( hospital, strategicDep[0], dep);
+ // Asset asset = createAsset( hospital, strategicDep[0], strategicDep[0]);
+ // 鐥呴櫌銈掍綔銈�
+ // 鐪�
+ Address_Level__c al = new Address_Level__c();
+ al.Name = '鏉变含';
+ al.Level1_Code__c = 'CN-99';
+ al.Level1_Sys_No__c = '999999';
+ insert al;
+ // 甯�
+ Address_Level2__c al2 = new Address_Level2__c();
+ al2.Level1_Code__c = 'CN-99';
+ al2.Level1_Sys_No__c = '999999';
+ al2.Level1_Name__c = '鏉变含';
+ al2.Name = '娓嬭胺鍖�';
+ al2.Level2_Code__c = 'CN-9999';
+ al2.Level2_Sys_No__c = '9999999';
+ al2.Address_Level__c = al.id;
+ insert al2;
+ Account hospital = new Account();
+ hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
+ hospital.Name = 'test hospital';
+ hospital.Is_Active__c = '鏈夊姽';
+ hospital.Attribute_Type__c = '鍗敓閮�';
+ hospital.Speciality_Type__c = '缁煎悎鍖婚櫌';
+ hospital.Grade__c = '涓�绾�';
+ hospital.OCM_Category__c = 'SLTV';
+ hospital.Is_Medical__c = '鍖荤枟鏈烘瀯';
+ hospital.State_Master__c = al.id;
+ hospital.City_Master__c = al2.id;
+ hospital.Town__c = '涓滀含';
+ insert hospital;
+
+ // 鎴︾暐绉戝銈掑緱銈�
+ Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
+ // 瑷虹檪绉戙倰浣溿倠
+ Account dep = new Account();
+ dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
+ dep.Name = 'test dep';
+ dep.AgentCode_Ext__c = '9999998';
+ dep.ParentId = strategicDep[0].Id;
+ dep.Department_Class__c = strategicDep[0].Id;
+ dep.Hospital__c = hospital.Id;
+ insert dep;
+ Asset asset = new Asset();
+ asset.Name = '銉嗐偣銉堟鍣�';
+ asset.AccountId = dep.Id;
+ asset.Department_Class__c = strategicDep[0].Id;
+ asset.Hospital__c = hospital.Id;
+ asset.SerialNumber = 'testserial';
+ insert asset;
+
// 鍒涘缓缁翠慨鍚堝悓
Maintenance_Contract__c contract = new Maintenance_Contract__c();
+ // ID RecordTypeId1 = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓').getRecordTypeId();
+ // ID RecordTypeId2 = Schema.SObjectType.Maintenance_Contract_Estimate__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓鎶ヤ环').getRecordTypeId();
contract.Name = 'tect contract';
contract.status__c = '濂戠磩';
contract.URF_Contract__c=true;
@@ -166,6 +238,7 @@
contract.Contract_End_Date__c = Date.today().addDays( 5); // 5鏃ュ緦
contract.SalesOfficeCode_selection__c = '鍖椾含RC';
contract.RecordTypeId='01210000000gTYq';
+ // contract.RecordTypeId=RecordTypeId1;
contract.URF_Contract__c = true;
contract.agree_Upper_limit__c = true;
insert contract;
@@ -173,6 +246,7 @@
Maintenance_Contract_Estimate__c Estimate = new Maintenance_Contract_Estimate__c();
Estimate.Maintenance_Contract__c = contract.Id;
Estimate.recordtypeId = '01210000000gTZA';
+ // Estimate.recordtypeId = RecordTypeId2;
Estimate.Name = '鎶ヤ环1';
insert Estimate;
//鍒涘缓缁翠慨鍚堝悓鎶ヤ环/淇濇湁璁惧
@@ -192,9 +266,10 @@
middleTable.Maintenance_Contract_Asset_Estimate__c = Asset_Estimate.Id;
insert middleTable;
// 淇悊銈掍綔鎴愩仚銈�01
+ Test.startTest();
Repair__c repair01 = new Repair__c();
- repair01.Account__c = dep.Id;
- repair01.Department_Class__c = strategicDep[0].Id;
+ repair01.Account__c = strategicDep[0].Id;
+ repair01.Department_Class__c = dep.Id;
repair01.Hospital__c = hospital.Id;
repair01.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today(); // 缁翠慨鍚堝悓鍒ゆ柇鏃ュ湪鍚堝悓寮�濮嬫棩涓庡悎鍚岀粨鏉熸棩涔嬮棿
repair01.Failure_Occurrence_Date__c =Date.today();
@@ -202,14 +277,14 @@
repair01.Status__c = '鑽夋涓�';
repair01.SalesOfficeCode_selection__c = '瑗垮畨RC';
insert repair01;
-
+
Repair__c checkRepair = null;
checkRepair = [SELECT Id, Name , Maintenance_Contract__c,MaintenanceContractType__c FROM Repair__c WHERE ID = :repair01.id];
System.assertEquals( contract.Id, checkRepair.Maintenance_Contract__c);
// 淇悊銈掍綔鎴愩仚銈�01
Repair__c repair02 = new Repair__c();
- repair02.Account__c = dep.Id;
+ repair02.Account__c = strategicDep[0].Id;
repair02.Department_Class__c = strategicDep[0].Id;
repair02.Hospital__c = hospital.Id;
repair02.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today(); // 缁翠慨鍚堝悓鍒ゆ柇鏃ュ湪鍚堝悓寮�濮嬫棩涓庡悎鍚岀粨鏉熸棩涔嬮棿
@@ -217,30 +292,25 @@
repair02.Delivered_Product__c = asset.Id;
insert repair02;
delete repair02;
-
checkRepair.NewProductGuarante_Txt__c = '2: 鏈嶅姟澶氬勾淇濅慨';
update checkRepair;
-
checkRepair.NewProductGuarante_Txt__c = '8: 甯傚満澶氬勾淇濅慨';
checkRepair.On_site_repair__c = 'RC淇悊';
checkRepair.Maintenance_Contract__c = contract.Id;
checkRepair.SalesOfficeCode_selection__c = '鏉窞RC';
update checkRepair;
-
contract.SalesOfficeCode_selection__c = '涓婃捣RC';
update contract;
checkRepair.SalesOfficeCode_selection__c = '鏉窞RC';
update checkRepair;
-
checkRepair.SalesOfficeCode_selection__c = '鏉窞RC';
checkRepair.NewProductGuarante_Txt__c = '2: 鏈嶅姟澶氬勾淇濅慨';
update checkRepair;
-
+ Test.stopTest();
asset.Order_No__c = '涓婃捣鍒嗗叕鍙�';
update asset;
checkRepair.SalesOfficeCode_selection__c = '鏉窞';
update checkRepair;
-
asset.Order_No__c = '骞垮窞鍒嗗叕鍙�';
update asset;
checkRepair.On_site_repair__c = '鍔炰簨澶勪慨鐞�';
@@ -250,6 +320,7 @@
contract.SalesOfficeCode_selection__c = '骞垮窞RC';
update contract;
+
}
//闄愭鍚堝悓浜у搧淇℃伅缁存姢鐩稿叧娴嬭瘯 FXK 2021/3/8 End
@@ -1348,6 +1419,8 @@
Asset asset = createAsset( hospital, strategicDep[0], dep);
// 鍒涘缓缁翠慨鍚堝悓
Maintenance_Contract__c contract = new Maintenance_Contract__c();
+ // ID RecordTypeId1 = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓').getRecordTypeId();
+ // ID RecordTypeId2 = Schema.SObjectType.Maintenance_Contract_Estimate__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓鎶ヤ环').getRecordTypeId();
contract.Name = 'tect contract';
contract.status__c = '濂戠磩';
contract.URF_Contract__c=true;
@@ -1360,6 +1433,7 @@
contract.Contract_End_Date__c = Date.today().addDays( 5); // 5鏃ュ緦
contract.SalesOfficeCode_selection__c = '鍖椾含RC';
contract.RecordTypeId='01210000000gTYq';
+ // contract.RecordTypeId=RecordTypeId1;
contract.URF_Contract__c = true;
contract.agree_Upper_limit__c = true;
insert contract;
@@ -1367,6 +1441,7 @@
Maintenance_Contract_Estimate__c Estimate = new Maintenance_Contract_Estimate__c();
Estimate.Maintenance_Contract__c = contract.Id;
Estimate.recordtypeId = '01210000000gTZA';
+ // Estimate.recordtypeId = RecordTypeId2;
Estimate.Name = '鎶ヤ环1';
insert Estimate;
//鍒涘缓缁翠慨鍚堝悓鎶ヤ环/淇濇湁璁惧
@@ -1452,6 +1527,7 @@
// 鍒涘缓缁翠慨鍚堝悓
Maintenance_Contract__c contract = new Maintenance_Contract__c();
+ // ID RecordTypeId1 = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByName().get('鏈嶅姟鍚堝悓').getRecordTypeId();
contract.Name = 'tect contract';
contract.status__c = '濂戠磩';
contract.URF_Contract__c=true;
@@ -1463,6 +1539,7 @@
contract.Contract_Start_Date__c = Date.today().addDays( -10); // 10鏃ュ墠
contract.Contract_End_Date__c = Date.today().addDays( 5); // 5鏃ュ緦
contract.SalesOfficeCode_selection__c = '鍖椾含RC';
+ // contract.RecordTypeId=RecordTypeId1;
contract.RecordTypeId='01210000000gTYq';
contract.URF_Contract__c = true;
contract.agree_Upper_limit__c = true;
--
Gitblit v1.9.1