@isTest
|
private class NFM701ControllerTest {
|
|
@testSetup
|
static void makeTestRepair() {
|
|
|
List < RecordType > rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
and Name = '病院'
|
];
|
if (rectCo.size() == 0) {
|
throw new ControllerUtil.myException('not found 病院 recodetype');
|
}
|
List < RecordType > rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
and Name = '戦略科室分類 消化科'
|
];
|
if (rectSct.size() == 0) {
|
throw new ControllerUtil.myException('not found 戦略科室分類 呼吸科 recodetype');
|
}
|
List < RecordType > rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
and Name = '診療科 消化科'
|
];
|
if (rectDpt.size() == 0) {
|
throw new ControllerUtil.myException('not found 診療科 消化科 recodetype');
|
}
|
// テストデータ
|
Account company = new Account();
|
company.RecordTypeId = rectCo[0].Id;
|
company.Is_Active__c = '有効';
|
company.Name = 'NFM105TestCompany';
|
company.AwaitToSendAWS__c = true;
|
upsert company;
|
|
Account section = [Select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where ParentId =: company.Id and RecordTypeId =: rectSct[0].Id];
|
|
Account depart = new Account();
|
depart.RecordTypeId = rectDpt[0].Id;
|
depart.Name = '*';
|
depart.Department_Name__c = 'NFM105TestDepart';
|
depart.ParentId = section.Id;
|
depart.Department_Class__c = section.Id;
|
depart.Hospital__c = company.Id;
|
upsert depart;
|
|
company.Site = '测试变更别名1';
|
|
upsert company;
|
|
List < RecordType > rectDpt2 = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
and DeveloperName = 'Agency'
|
];
|
if (rectDpt.size() == 0) {
|
throw new ControllerUtil.myException('not found 診療科 消化科 recodetype');
|
}
|
ControllerUtil.EscapeNFM001Trigger = true;
|
StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
|
Account company2 = new Account();
|
company2.RecordTypeId = rectDpt2[0].Id;
|
company2.Name = 'NFM105TestCompany';
|
upsert company2;
|
|
License_Information__c lic = new License_Information__c();
|
lic.name = 'Test20181204';
|
lic.LicenseType__c = '医疗器械经营许可证';
|
lic.BusinessLicense__c = '20180522';
|
lic.ValidFrom__c = date.newinstance(2018, 05, 22);
|
lic.ValidTo__c = date.newinstance(2018, 05, 22);
|
lic.Scope3__c = '6815;6822;6823;6825';
|
lic.IsInquire__c = false;
|
lic.LicenseAndAccount__c = company2.Id;
|
insert lic;
|
License_Information__c lic1 = new License_Information__c();
|
lic1.name = 'Test20190111';
|
lic1.LicenseType__c = '第二类医疗器械经营备案凭证';
|
lic1.BusinessLicense__c = '20190522';
|
lic1.ValidFrom__c = date.newinstance(2018, 05, 21);
|
lic1.ValidTo__c = date.newinstance(2018, 05, 21);
|
lic.IsInquire__c = false;
|
lic1.Scope__c = '6815;6822;6823;6825';
|
lic1.LicenseAndAccount__c = company2.Id;
|
insert lic1;
|
|
List < RecordType > rectDptAgencyContract = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
and DeveloperName = 'AgencyContract'
|
];
|
if (rectDptAgencyContract.size() == 0) {
|
return;
|
}
|
|
Account AagencyContractAccount = new Account();
|
AagencyContractAccount.RecordTypeId = rectDptAgencyContract[0].Id;
|
AagencyContractAccount.Contract_Decide_Start_Date__c = System.today();
|
AagencyContractAccount.Contract_Decide_End_Date__c = System.today();
|
AagencyContractAccount.Contract_End_Date__c = Date.today();
|
AagencyContractAccount.Name = '*';
|
AagencyContractAccount.Department_Name__c = 'NFM701TestDepart';
|
AagencyContractAccount.ParentId = company2.Id;
|
AagencyContractAccount.Agent_Ref__c = company2.Id;
|
AagencyContractAccount.ET_SP_Dealer__c = true;
|
// AagencyContractAccount.RecordType.DeveloperName = 'HP';
|
upsert AagencyContractAccount;
|
|
|
List < BatchIF_Transfer__c > transfers = new List < BatchIF_Transfer__c > ();
|
BatchIF_Transfer__c transfer = new BatchIF_Transfer__c();
|
transfer.Table__c = 'Account';
|
transfer.Column__c = 'RecordTypeId';
|
transfer.External_Value__c = rectDpt[0].Id;
|
transfer.Internal_Value__c = '消化科';
|
insert transfer;
|
BatchIF_Log__c iflog = new BatchIF_Log__c();
|
iflog.Log__c = '{"GeDatas":{"Monitoring":{"TransmissionDateTime":"20211231104929","Text":"","Tag":"MSGH","Sender":"SFDC","Receiver":"OBPM","NumberOfRecord":"1","MessageType":"NFM701","MessageGroupNumber":"20211231104929"},"GeData":[{"StateMaster":"山西省","LinkedHospitalMCode":null,"IsMerge":false,"IsActive":true,"HospitalName":"夏县第二人民医院","HospitalMCode":"360437","Grade":"二级乙","DataType":"Hospital","CityMaster":"运城市","Address":"山西省运城市夏县运城地区夏县北街"}]}}';
|
iflog.Type__c = '701test';
|
insert iflog;
|
}
|
// static testMethod void testMethod1() {
|
|
// }
|
// @isTest
|
// static void testCallOut1() {
|
// List < Account > userList = [select id from Account];
|
// // System.assertEquals(userList.size(),10);
|
// Test.startTest();
|
|
// List < Id > idList = new List < Id > ();
|
// for (Account user: userList) {
|
// idList.add(user.Id);
|
// }
|
// BatchIF_Log__c iflog = new BatchIF_Log__c();
|
// iflog.Log__c = 'test start \n';
|
// insert iflog;
|
|
// NFM701Controller.callout(iflog.Id, idList);
|
|
// Test.stopTest();
|
// }
|
@isTest
|
static void testCallOut2() {
|
List < RecordType > rectCo00 = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
and Name = '病院'
|
];
|
Test.startTest();
|
Account hospital = new Account();
|
hospital.RecordTypeId = rectCo00[0].Id;
|
// hospital.Is_Active__c = '有効';
|
hospital.Name = 'hospital';
|
// hospital.RecordType.DeveloperName = 'HP';
|
hospital.Is_Active__c = '无效';
|
hospital.Ban_On_Use_Reason__c = '312343';
|
hospital.AwaitToSendAWS__c = true;
|
insert hospital;
|
List < String > accountIdList = new List < String >();
|
accountIdList.add(hospital.Id);
|
BatchIF_Log__c iflog = new BatchIF_Log__c();
|
iflog.Log__c = 'test start \n';
|
insert iflog;
|
NFM701Controller.callout(iflog.Id, accountIdList);
|
// Database.executeBatch(new Sfdc2PoAccountBatch(accountIdList),100);
|
Test.stopTest();
|
}
|
// @isTest
|
// static void testCallOut3() {
|
// List < RecordType > rectCo00 = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
|
// and Name = '病院'
|
// ];
|
// Test.startTest();
|
// Account hospital = new Account();
|
// hospital.RecordTypeId = rectCo00[0].Id;
|
// // hospital.Is_Active__c = '有効';
|
// hospital.Name = 'hospital';
|
// // hospital.RecordType.DeveloperName = 'HP';
|
// hospital.Is_Active__c = '无效';
|
// hospital.Ban_On_Use_Reason__c = '312343';
|
// hospital.AwaitToSendAWS__c = true;
|
// insert hospital;
|
// List < String > accountIdList = new List < String >();
|
// accountIdList.add(hospital.Id);
|
// NFM701Controller.callout(null, accountIdList);
|
// // Database.executeBatch(new Sfdc2PoAccountBatch(accountIdList),100);
|
// Test.stopTest();
|
// }
|
|
}
|