@isTest
|
private class NFM703ControllerTest {
|
|
|
// @testSetup
|
// static void makeTestRepair() {
|
|
/*RecordType rectCam =
|
[select Id from RecordType
|
where SobjectType = 'Campaign'
|
and DeveloperName = 'ServiceEngineerTraining'];
|
// Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin];
|
// User hpOwner = new User(Test_staff__c = true, LastName = 'hp',Work_Location__c = '北京' , FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
|
|
|
Account account1 = new Account();
|
Account account2 = new Account();
|
Contact contact2 = new Contact();
|
// User user = new User();
|
Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c();
|
// 取引先
|
account1.Name = 'test1医院';
|
account1.RecordTypeId = '01210000000QemG';
|
insert account1;
|
|
account2.Name = 'test1经销商';
|
account2.RecordTypeId = '01210000000Qem1';
|
insert account2;
|
List<Account> acc2list=[select RecordTypeId, Name from Account];
|
System.assertEquals(10,acc2list.size());
|
// 取引先責任者
|
contact2.AccountId = account2.Id;
|
contact2.FirstName = '責任者';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
List<Contact> contact2list=[select Id, FirstName from Contact];
|
System.assertEquals('責任者',contact2list[0].FirstName);
|
// ユーザー用户
|
// Profile p = [select Id from Profile where Name = '901_经销商社区普通权限_2重验证(ET)'];
|
// user.ProfileId = p.Id;
|
// user.ContactId = contact2.Id;
|
// user.FirstName = 'ユーザー';
|
// user.LastName = 'テスト';
|
// user.Email = 'test_user@example.com';
|
// user.emailencodingkey='UTF-8';
|
// user.languagelocalekey='zh_CN';
|
// user.localesidkey='ja_JP';
|
// user.timezonesidkey='Asia/Shanghai';
|
// user.Username = 'test_user@example.com';
|
// user.Work_Location__c = '北京';
|
// user.Alias = 'テユ';
|
// user.Dept__c = '外科事业本部';
|
// user.responsibility__c = '华北营业一部';
|
// user.OCM_Management_Province__c = '北京';
|
// user.CommunityNickname = 'テストユーザー';
|
// insert user;
|
|
Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin];
|
|
User local = new User(Test_staff__c = true,Employee_No__c ='ocm99999', LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
|
insert local;
|
|
User user = new User(Test_staff__c = true);
|
user.LastName = '_サンブリッジ';
|
user.FirstName = 'う';
|
user.Alias = 'う';
|
user.Email = 'olympustest03@sunbridge.com';
|
user.Username = 'olympustest03@sunbridge.com';
|
user.CommunityNickname = 'う';
|
user.IsActive = true;
|
user.EmailEncodingKey = 'ISO-2022-JP';
|
user.TimeZoneSidKey = 'Asia/Tokyo';
|
user.LocaleSidKey = 'ja_JP';
|
user.LanguageLocaleKey = 'ja';
|
user.ProfileId = System.Label.ProfileId_SystemAdmin;
|
user.Dept__c = '能量事业本部';
|
user.Work_Location__c = '北京';
|
user.Job_Category__c = '销售推广';
|
user.OCM_Management_Province__c = '北京';
|
user.Province__c = '上海市';
|
user.Use_Start_Date__c = Date.today().addMonths(-6);
|
user.Employee_No__c = '0000022174';
|
user.Stay_or_not__c = '在职';
|
insert user;
|
Long nowTimeLong = System.now().getTime();
|
|
User u1 = new User(Test_staff__c = true);
|
u1.LastName = '_サンブリッジ';
|
// u1.FirstName = 'あ';
|
u1.Batch_User__c = true;
|
u1.Alias = 'あ';
|
u1.Email = 'olympusTest01@sunbridge.com';
|
u1.Username = 'olympusTest10@sunbridge.com' + nowTimeLong;
|
u1.CommunityNickname = 'あ';
|
u1.Work_Location__c = '北京';
|
u1.IsActive = true;
|
u1.EmailEncodingKey = 'ISO-2022-JP';
|
u1.TimeZoneSidKey = 'Asia/Tokyo';
|
u1.LocaleSidKey = 'ja_JP';
|
u1.LanguageLocaleKey = 'ja';
|
u1.ProfileId = System.Label.ProfileId_SystemAdmin;
|
u1.Job_Category__c = '销售服务';
|
u1.Province__c = '東京';
|
insert u1;
|
|
|
User u2 = new User(Test_staff__c = true);
|
u2.LastName = '_サンブリッジ';
|
u2.FirstName = 'い';
|
u2.Batch_User__c = true;
|
u2.Alias = 'い';
|
u2.Email = 'olympusTest02@sunbridge.com';
|
u2.Username = 'olympusTest02@sunbridge.com' + nowTimeLong;
|
u2.CommunityNickname = 'い';
|
u2.Work_Location__c = '北京';
|
u2.IsActive = true;
|
u2.EmailEncodingKey = 'ISO-2022-JP';
|
u2.TimeZoneSidKey = 'Asia/Tokyo';
|
u2.LocaleSidKey = 'ja_JP';
|
u2.LanguageLocaleKey = 'ja';
|
u2.ProfileId = System.Label.ProfileId_SystemAdmin;
|
u2.Job_Category__c = '销售推广';
|
u2.Province__c = '東京';
|
insert u2;
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.Meeting_Type__c = '赞助会';
|
cam.Implementation_Purpose__c = '产品推广';
|
cam.WorkshopPlace__c = '测试地址';
|
cam.Workshop_category__c = '普通学会/会议';
|
cam.Society_Type__c = '全国';
|
cam.Open_scope__c = '全国';
|
cam.Sponsor_Ones_Post__c = '消化呼吸本部';
|
cam.Is_LendProduct__c = '是';
|
cam.HostName__c = '测试主办方';
|
cam.cooperatorCompany__c = '测试承办方';
|
cam.OCM_MP_Admin_assistant__c = user.Id;
|
cam.OwnerId = user.Id;
|
cam.Num__c = 'MT-GI-202201-5793';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
upsert cam;*/
|
// ----------------------------------------------------------------------
|
// String flag='NG2';
|
// String d1='产品试用';
|
// String dept='医疗华北营业本部';
|
// User user = new User(Test_staff__c = true);
|
// user.LastName = '_サンブリッジ';
|
// user.FirstName = 'う';
|
// user.Alias = 'う';
|
// user.Email = 'olympusTest03@sunbridge.com';
|
// user.Username = 'olympusTest03@sunbridge.com';
|
// user.CommunityNickname = 'う';
|
// user.IsActive = true;
|
// user.EmailEncodingKey = 'ISO-2022-JP';
|
// user.TimeZoneSidKey = 'Asia/Tokyo';
|
// user.LocaleSidKey = 'ja_JP';
|
// user.LanguageLocaleKey = 'ja';
|
// user.ProfileId = System.Label.ProfileId_SystemAdmin;
|
// user.Province__c = '北京';
|
// user.Dept__c = dept;
|
// user.Use_Start_Date__c = Date.today().addMonths(-6);
|
// insert user;
|
// // System.runAs(new User(Id = Userinfo.getUserId())) {
|
// // insert user;
|
// // }
|
// ----------------------------------------------------------------------
|
|
// 省
|
// 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 = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
|
// 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 recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
|
// ==================================================================================================
|
// OCM_Management_Province__c mp1 = new OCM_Management_Province__c();
|
// mp1.Name = '其他';
|
// mp1.Province__c = '北京市';
|
// mp1.Window1__c = user.Id;
|
// insert mp1;
|
|
// StaticParameter.EscapeCampain =false;
|
// StaticParameter.shareToOSCMFlag = false;
|
// Campaign cam = new Campaign();
|
// cam.Name = 'test campaign';
|
// cam.StartDate = Date.today().addDays(15);
|
// cam.EndDate = Date.today().addDays(18);
|
// cam.Name2__c = '1234';
|
// cam.Status = '申请中';
|
// cam.Mailflg_after45__c = true;
|
// cam.Mailflg_cancel__c = true;
|
// cam.Mailflg_before15__c = true;
|
// cam.Mailflg_before7__c = true;
|
// cam.Mailflg_after3__c = true;
|
// cam.HostName__c = '1';
|
// cam.cooperatorCompany__c = '1';
|
// cam.RecordTypeId = System.label.RecordType_CampaignService;
|
// cam.OwnerId = user.Id;
|
// insert cam;
|
// ==================================================================================================
|
|
// Campaign cam1 = new Campaign();
|
// cam1.Name = 'test campaign';
|
// cam1.StartDate = Date.today().addDays(15);
|
// cam1.EndDate = Date.today().addDays(18);
|
// cam1.Name2__c = '1234';
|
// cam1.Status = '申请中';
|
// cam1.Mailflg_after45__c = true;
|
// cam1.Mailflg_cancel__c = true;
|
// cam1.Mailflg_before15__c = true;
|
// cam1.Mailflg_before7__c = true;
|
// cam1.Mailflg_after3__c = true;
|
// cam1.HostName__c = '1';
|
// cam1.cooperatorCompany__c = '1';
|
// insert cam1;
|
|
|
|
// BatchIF_Log__c iflog = new BatchIF_Log__c();
|
// iflog.Log__c = '{"GeDatas":{"GeData":[{"WorkshopPlace":"上海红塔豪华精选酒店上海市 东方路889号","StateMaster":null,"StartDate":"20210422","OfficeCategory":null,"Num":"MT-GI-202104-5512","Name":"第十四届中国高端医疗产业发展论坛 (2021/04/22 - 2021/04/23)","MeetingType":"赞助会","HostName":null,"ExpectedOlympusAttendance":null,"ExpectedHcpAttendance":null,"EndDate":"20210423","CooperatorCompany":null,"CityMaster":null,"BudgetType":"产品推广","ActivityTypeName":null}]}}';
|
// iflog.Type__c = '703test';
|
// insert iflog;
|
// }
|
private static User getUser() {
|
String flag='NG2';
|
String d1='产品试用';
|
String dept='医疗华北营业本部';
|
User user = new User(Test_staff__c = true);
|
user.LastName = '_サンブリッジ';
|
user.FirstName = 'う';
|
user.Alias = 'う';
|
user.Email = 'olympusTest03@sunbridge.com';
|
user.Username = 'olympusTest03@sunbridge.com';
|
user.CommunityNickname = 'う';
|
user.IsActive = true;
|
user.EmailEncodingKey = 'ISO-2022-JP';
|
user.TimeZoneSidKey = 'Asia/Tokyo';
|
user.LocaleSidKey = 'ja_JP';
|
user.LanguageLocaleKey = 'ja';
|
user.ProfileId = System.Label.ProfileId_SystemAdmin;
|
user.Province__c = '北京';
|
user.Dept__c = dept;
|
user.Use_Start_Date__c = Date.today().addMonths(-6);
|
// insert user;
|
System.runAs(new User(Id = Userinfo.getUserId())) {
|
insert user;
|
}
|
return user;
|
}
|
@isTest
|
static void testCallOut1() {
|
OCM_Management_Province__c mp1 = new OCM_Management_Province__c();
|
mp1.Name = '其他';
|
mp1.Province__c = '北京市';
|
mp1.Window1__c = getUser().Id;
|
insert mp1;
|
|
StaticParameter.EscapeCampain =false;
|
StaticParameter.shareToOSCMFlag = false;
|
Campaign cam = new Campaign();
|
cam.Name = 'test011111 (2021/12/15 - 2021/12/20)';
|
cam.StartDate = Date.today().addDays(15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Name2__c = '1234';
|
cam.Status = '申请中';
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
cam.HostName__c = '1';
|
cam.IF_Approved__c = true;
|
cam.cooperatorCompany__c = '2222';
|
cam.RecordTypeId = System.label.RecordType_CampaignService;
|
// cam.OwnerId = getUser().Id;
|
cam.Num__c = 'MT-GI-202112-5772';
|
// StartDate
|
// EndDate
|
cam.Implementation_Purpose__c = '新产品上市';
|
cam.OfficeCategory__c = null;
|
cam.Meeting_Type__c = '主办会';
|
cam.Activity_Type_Name__c = null;
|
cam.State_Master__r = null;
|
cam.City_Master__r = null;
|
cam.WorkshopPlace__c = '北京';
|
cam.Expected_Olympus_Attendance__c = null;
|
cam.Expected_Hcp_Attendance__c = null;
|
insert cam;
|
|
List < Campaign > camList = [select Id,IF_Approved__c from Campaign];
|
// System.assertEquals(camList.size(),1);
|
System.assertEquals(camList[0].IF_Approved__c,true);
|
|
Test.startTest();
|
|
List < Id > idList = new List < Id > ();
|
for (Campaign cam1: camList) {
|
idList.add(cam1.Id);
|
}
|
|
BatchIF_Log__c iflog = new BatchIF_Log__c();
|
iflog.Log__c = '{"Monitoring":{"TransmissionDateTime":"20220209150125","Text":"","Tag":"MSGH","Sender":"SFDC","Receiver":"OBPM","NumberOfRecord":"1","MessageType":"NFM703","MessageGroupNumber":"20220209150125"},"GeData":[{"WorkshopPlace":"北京","StateMaster":null,"StartDate":"2021-12-15","OfficeCategory":null,"Num":"MT-GI-202112-5772","Name":"test011111 (2021/12/15 - 2021/12/20)","MeetingType":"主办会","HostName":"1","ExpectedOlympusAttendance":null,"ExpectedHcpAttendance":null,"EndDate":"2021-12-20","CooperatorCompany":"2222","CityMaster":null,"BudgetType":"新产品上市","ActivityTypeName":null}]}';
|
iflog.Type__c = 'NFM703';
|
// insert iflog;
|
// BatchIF_Log__c iflog = new BatchIF_Log__c();
|
iflog.Log__c += 'test start \n';
|
insert iflog;
|
|
// System.assertEquals(iflog.retry_cnt__c,0);
|
NFM703Controller.executeNotFuture(iflog.Id, idList);
|
|
// List<BatchIF_Log__c> rowbl = [Select Id, Log__c,
|
// ErrorLog__c
|
// from BatchIF_Log__c];
|
// System.assertEquals(1, rowbl.size());
|
|
// rowbl[0].retry_cnt__c = 1;
|
// update rowbl;
|
|
// NFM703Controller.execute(rowbl[0],iflog);
|
|
// List<BatchIF_Log__c> bl = [Select Id, Is_Error__c,
|
// Type__c, Log__c, ErrorLog__c, retry_cnt__c
|
// from BatchIF_Log__c
|
// where Id = :rowbl[0].id];
|
// System.assertEquals(1, bl.size());
|
// System.assertEquals(0, bl[0].retry_cnt__c);
|
Test.stopTest();
|
}
|
}
|