/**
|
* wangweipeng 2021/09/02
|
* OdsToUserHandler 的测试类
|
* 用于把ods__c表的数据同步到 联系人表(contact)中
|
*/
|
@isTest
|
private class OdsToUserHandlerTest {
|
// AWSServiceTool2没上线就把这部分注释 start 20220408
|
@TestSetup
|
static void setup(){
|
TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Agency_Contact__c','Contact'});
|
}
|
|
@isTest
|
static void Test1(){
|
Test.setMock(HttpCalloutMock.class, new HttpMock());
|
|
List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
|
lra.add(new Agency_Contact__c(
|
));
|
insert lra;
|
Test.startTest();
|
//system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
|
AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
|
AWSServiceTool2.EncryptPushFuture(null,null);
|
Test.stopTest();
|
}
|
|
@isTest
|
static void Test2(){
|
Test.setMock(HttpCalloutMock.class, new HttpMock());
|
|
List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
|
lra.add(new Agency_Contact__c(
|
Aws_Data_Id__c = '123456'
|
));
|
insert lra;
|
Test.startTest();
|
//system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
|
AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
|
Test.stopTest();
|
}
|
|
@isTest
|
static void Test3(){
|
Test.setMock(HttpCalloutMock.class, new HttpMock());
|
|
|
Test.startTest();
|
AWSServiceTool2.EncryptPushData(new string[]{'0031000000O4Cff'});
|
|
Test.stopTest();
|
}
|
|
//@isTest
|
// static void Test2(){
|
// Test.setMock(HttpCalloutMock.class, new HttpMock());
|
|
// List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
|
// lra.add(new Agency_Contact__c(
|
// Id = 'a2R1m0000007BPD',
|
// Aws_Data_Id__c = '123456'
|
// ));
|
// Test.startTest();
|
// //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl);
|
// AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
|
// Test.stopTest();
|
// }
|
|
class HttpMock implements HttpCalloutMock{
|
|
public HTTPResponse respond(HTTPRequest request) {
|
// 创建一个假的回应
|
System.debug('------------------------------------------------------');
|
HttpResponse response = new HttpResponse();
|
string body = '';
|
system.debug(request.getEndpoint());
|
if(request.getEndpoint().contains('token')){
|
system.debug('url=token');
|
response.setHeader('Content-Type', 'application/json');
|
body='{ "message": "", "object": "freqfewqfewewfewfew", "status": "", "success": true, "timestamp": 0, "txId": "" }';
|
} else if(request.getEndpoint().contains('insert')){
|
system.debug('url=Insert');
|
response.setHeader('Content-Type', 'application/json');
|
body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }';
|
} else if(request.getEndpoint().contains('update')){
|
system.debug('url=update');
|
response.setHeader('Content-Type', 'application/json');
|
body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }';
|
} else{
|
|
}
|
|
response.setBody(body);
|
response.setStatus('OK');
|
response.setStatusCode(200);
|
return response;
|
// }
|
}
|
}
|
// AWSServiceTool2没上线就把这部分注释 end
|
static testMethod void testMethod1() {
|
// 省
|
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;
|
// AWSServiceTool2没上线就把这部分放开 start 20220408
|
//Contact contact2 = new Contact();
|
//contact2.AccountId = dep.Id;
|
//contact2.FirstName = '責任者';
|
//contact2.LastName = 'test1经销商';
|
//contact2.Employee_No_manual__c = 'om003901';
|
//insert contact2;
|
// AWSServiceTool2没上线就把这部分放开 end
|
ODS__c ods = new ODS__c();
|
ods.ALIAS__C = 'om003901';
|
ods.BRANCH__C = '';
|
ods.CATEGORY3__C = '医疗华北东北营业统括本部';
|
ods.CATEGORY4__C = '医疗华北营业本部';
|
ods.CATEGORY5__C = '华北营业二部';
|
ods.CATEGORY6__C = '河北GIR推广课';
|
ods.EMAIL__C = 'chengchao_an@olympus.com.cn';
|
ods.EMPLOYEE_NO__C = 'om003901';
|
ods.FIRSTNAME__C = 'Chengchao';
|
ods.HIRE_DATE__C = Date.today();
|
ods.JOB_CATEGORY__C = '技术服务';
|
ods.JOB_TYPE__C = '正式-本地员工';
|
ods.LASTNAME__C = 'An';
|
ods.MOBILEPHONE__C = '13832596948';
|
ods.NAME__C = '安承超';
|
ods.POST__C = '一般';
|
ods.PRODUCT_SPECIALIST_INCHARGE_PRODUCT__C = '';
|
ods.SALES_SPECIALITY__C = '';
|
ods.UNIQUEID__C = '11181';
|
ods.WORK_LOCATION__C = '石家庄';
|
ods.Stay_or_not__c = '在职';
|
ods.LeaveDate__c = Date.today();
|
|
Test.startTest();
|
try{
|
insert ods;
|
// AWSServiceTool2没上线就把这部分注释 start
|
Test.setMock(HttpCalloutMock.class, new HttpMock());
|
|
List<Agency_Contact__c> lra = new List<Agency_Contact__c>();
|
lra.add(new Agency_Contact__c(
|
Id = 'a2R1m0000007BPD',
|
Aws_Data_Id__c = '123456'
|
));
|
AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c');
|
// AWSServiceTool2没上线就把这部分注释 end
|
ods.LeaveDate__c = Date.today()+1;
|
update ods;
|
}catch(Exception e){
|
system.debug('Exception from upsert file:'+e.getmessage());
|
}
|
Test.stopTest();
|
}
|
}
|