@isTest
|
private class AttachmentTriggerTest {
|
|
@isTest
|
static void test_method_one() {
|
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
|
if (rectSct.size() == 0) {
|
return;
|
}
|
List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
|
if (rectDpt.size() == 0) {
|
return;
|
}
|
ControllerUtil.EscapeNFM001Trigger = true;
|
StaticParameter.EscapeOpportunityBefUpdTrigger = true;
|
StaticParameter.EscapeSyncOpportunityTrigger = true;
|
StaticParameter.EscapeNFM007Trigger = true;
|
StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
|
StaticParameter.EscapeSyncOpportunityTrigger = true;
|
|
// テストデータ
|
Account company = new Account();
|
company.RecordTypeId = rectCo[0].Id;
|
company.Name = 'NFM007TestCompany';
|
upsert company;
|
Account section = new Account();
|
section.RecordTypeId = rectSct[0].Id;
|
section.Name = '*';
|
section.Department_Class_Label__c = '消化科';
|
section.ParentId = company.Id;
|
section.Hospital_Department_Class__c = company.Id;
|
upsert section;
|
Account depart = new Account();
|
depart.RecordTypeId = rectDpt[0].Id;
|
depart.Name = '*';
|
depart.Department_Name__c = 'NFM007TestDepart';
|
depart.ParentId = section.Id;
|
depart.Department_Class__c = section.Id;
|
depart.Hospital__c = company.Id;
|
upsert depart;
|
|
Opportunity opp = new Opportunity();
|
opp.AccountId = depart.Id;
|
opp.Department_Class__c = section.Id;
|
opp.Hospital__c = company.Id;
|
opp.SAP_Send_OK__c = false;
|
opp.Name = 'GZ-SP-NFM007_1';
|
opp.Trade__c = '内貿';
|
opp.StageName = '引合';
|
opp.CloseDate = date.newinstance(2022, 11, 30);
|
opp.Stock_apply_status__c = '申请中';
|
insert opp;
|
|
Opportunity_File__c ofile = new Opportunity_File__c();
|
ofile.Name = 'test file';
|
ofile.Opportunity__c = opp.Id;
|
ofile.Oppor_File_Stage__c = 'G';
|
insert ofile;
|
Attachment att1 = new Attachment(
|
Name = 'test',
|
ParentId = ofile.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
System.Test.startTest();
|
insert att1;
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = ofile.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
insert att;
|
|
//delete att1;
|
System.Test.stopTest();
|
}
|
|
//@isTest
|
static void test_method_two() {
|
ControllerUtil.EscapeNFM001Trigger = true;
|
// 省
|
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;
|
|
Contact contact2 = new Contact();
|
contact2.AccountId = dep.Id;
|
contact2.FirstName = '責任者';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
// 产品
|
Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP',
|
Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing',
|
Fixture_Model_No_T__c = 'n05',
|
ProductCode_Ext__c='pc05',Manual_Entry__c=false);
|
insert pro5;
|
|
//备品借出申请
|
Rental_Apply__c raObj = new Rental_Apply__c();
|
raObj.Name = 'testra';
|
raObj.Product_category__c = 'GI';
|
raObj.Demo_purpose1__c = '产品试用';
|
raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia');
|
raObj.direct_send__c = '医疗机构';
|
raObj.Loaner_received_staff__c = '王五';
|
raObj.Loaner_received_staff_phone__c = '110';
|
raObj.direct_shippment_address__c = '北京市';
|
raObj.Hospital__c = hospital.Id;
|
raObj.Strategic_dept__c = strategicDep[0].Id;
|
raObj.Account__c = dep.Id;
|
raObj.Request_shipping_day__c = Date.toDay();
|
raObj.Request_return_day__c = Date.toDay();
|
raObj.Phone_number__c = '1234567890';
|
raObj.Loaner_medical_Staff__c = contact2.Id;
|
insert raObj;
|
|
}
|
|
|
@isTest
|
static void test_method_3() {
|
ControllerUtil.EscapeNFM001Trigger = true;
|
// 省
|
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;
|
|
Contact contact2 = new Contact();
|
contact2.AccountId = dep.Id;
|
contact2.FirstName = '責任者';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
System.Test.startTest();
|
//insert att1;
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = hospital.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
insert att;
|
|
delete att;
|
System.Test.stopTest();
|
|
}
|
|
@isTest
|
static void test_method_4() {
|
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
|
if (rectSct.size() == 0) {
|
return;
|
}
|
List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
|
if (rectDpt.size() == 0) {
|
return;
|
}
|
ControllerUtil.EscapeNFM001Trigger = true;
|
StaticParameter.EscapeOpportunityBefUpdTrigger = true;
|
StaticParameter.EscapeSyncOpportunityTrigger = true;
|
StaticParameter.EscapeNFM007Trigger = true;
|
StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
|
StaticParameter.EscapeSyncOpportunityTrigger = true;
|
|
// テストデータ
|
Account company = new Account();
|
company.RecordTypeId = rectCo[0].Id;
|
company.Name = 'NFM007TestCompany';
|
upsert company;
|
Account section = new Account();
|
section.RecordTypeId = rectSct[0].Id;
|
section.Name = '*';
|
section.Department_Class_Label__c = '消化科';
|
section.ParentId = company.Id;
|
section.Hospital_Department_Class__c = company.Id;
|
upsert section;
|
Account depart = new Account();
|
depart.RecordTypeId = rectDpt[0].Id;
|
depart.Name = '*';
|
depart.Department_Name__c = 'NFM007TestDepart';
|
depart.ParentId = section.Id;
|
depart.Department_Class__c = section.Id;
|
depart.Hospital__c = company.Id;
|
upsert depart;
|
|
Opportunity opp = new Opportunity();
|
opp.AccountId = depart.Id;
|
opp.Department_Class__c = section.Id;
|
opp.Hospital__c = company.Id;
|
opp.SAP_Send_OK__c = false;
|
opp.Name = 'GZ-SP-NFM007_1';
|
opp.Trade__c = '内貿';
|
opp.StageName = '引合';
|
opp.CloseDate = date.newinstance(2022, 11, 30);
|
opp.Stock_apply_status__c = '申请中';
|
insert opp;
|
|
OpportunitySpecialApply__c osa = new OpportunitySpecialApply__c();
|
osa.Opportunity__c = opp.Id;
|
System.Test.startTest();
|
insert osa;
|
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = osa.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
insert att;
|
|
delete att;
|
System.Test.stopTest();
|
|
}
|
|
// MZY SWAG-BXXBKA 2021-02-19 start
|
@isTest
|
static void test_method_5() {
|
OPDPlan__c opd = new OPDPlan__c();
|
opd.Status__c = '草案中';
|
opd.OPDPlan_ImplementDate__c = Date.today().addDays(5);
|
opd.NoOpp_Reason__c = 'HCP对应';
|
opd.OPDType__c = '科室';
|
|
insert opd;
|
System.Test.startTest();
|
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = opd.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
|
insert att;
|
System.Test.stopTest();
|
|
}
|
@isTest
|
static void test_method_6() {
|
List<RecordType> rectC = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
if (rectC.size() == 0) {
|
return;
|
}
|
Account act1 = new Account();
|
act1.Name = 'TestAccount01';
|
act1.RecordTypeId = rectC[0].Id;
|
|
upsert act1;
|
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '契約'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
Account act2 = new Account();
|
act2.Name = 'TestAccount02';
|
act2.Business_Assistant__c = getUser().id;
|
act2.RecordTypeId = rectCo[0].Id;
|
act2.ParentId = act1.Id;
|
|
upsert act2;
|
|
Consumable_order__c co = new Consumable_order__c();
|
co.Name = 'TestCo';
|
co.Order_status__c = '草案中';
|
co.Order_effective_contact__c = act2.id;
|
|
insert co;
|
System.Test.startTest();
|
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = co.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
|
insert att;
|
|
delete att;
|
|
System.Test.stopTest();
|
|
}
|
|
@isTest
|
static void test_method_7() {
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
|
if (rectSct.size() == 0) {
|
return;
|
}
|
List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
|
if (rectDpt.size() == 0) {
|
return;
|
}
|
|
Account company = new Account();
|
company.RecordTypeId = rectCo[0].Id;
|
company.Name = 'TestCompany';
|
upsert company;
|
Account section = new Account();
|
section.RecordTypeId = rectSct[0].Id;
|
section.Name = '*';
|
section.Department_Class_Label__c = '消化科';
|
section.ParentId = company.Id;
|
section.Hospital_Department_Class__c = company.Id;
|
upsert section;
|
Account depart = new Account();
|
depart.RecordTypeId = rectDpt[0].Id;
|
depart.Name = '*';
|
depart.Department_Name__c = 'TestDepart';
|
depart.ParentId = section.Id;
|
depart.Department_Class__c = section.Id;
|
depart.Hospital__c = company.Id;
|
upsert depart;
|
|
|
RecordType rectOpp = [select id from RecordType where IsActive = true and SobjectType = 'Opportunity' and DeveloperName = 'Opportunity' ];
|
Opportunity opp = new Opportunity(
|
Name='testOpp1',
|
StageName='引合',
|
CloseDate=Date.today(),
|
AccountId=depart.Id,
|
Sales_Root__c = '販売店',
|
Competitor__c ='A',
|
Click_Close_Date__c = null,
|
RecordType = rectOpp
|
);
|
insert opp;
|
|
//注残
|
Statu_Achievements__c Sac = new Statu_Achievements__c(
|
name = 'zhucan_one',
|
Opportunity__c = opp.id,
|
DeliveryDate__c = Date.today(),
|
ContractNO__c = 'ContractNO1',
|
ContractAmount__c = 1000
|
);
|
insert Sac;
|
|
eSignForm__c es = new eSignForm__c();
|
es.Statu_Achievements__c = Sac.id;
|
|
insert es;
|
System.Test.startTest();
|
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = es.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
|
insert att;
|
System.Test.stopTest();
|
|
}
|
@isTest
|
static void test_method_8() {
|
List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科'];
|
if (rectSct.size() == 0) {
|
return;
|
}
|
List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
|
if (rectDpt.size() == 0) {
|
return;
|
}
|
|
Account company = new Account();
|
company.RecordTypeId = rectCo[0].Id;
|
company.Name = 'TestCompany';
|
upsert company;
|
Account section = new Account();
|
section.RecordTypeId = rectSct[0].Id;
|
section.Name = '*';
|
section.Department_Class_Label__c = '消化科';
|
section.ParentId = company.Id;
|
section.Hospital_Department_Class__c = company.Id;
|
upsert section;
|
Account depart = new Account();
|
depart.RecordTypeId = rectDpt[0].Id;
|
depart.Name = '*';
|
depart.Department_Name__c = 'TestDepart';
|
depart.ParentId = section.Id;
|
depart.Department_Class__c = section.Id;
|
depart.Hospital__c = company.Id;
|
upsert depart;
|
|
|
OPDPlan__c opd = new OPDPlan__c();
|
opd.Status__c = '计划中';
|
opd.OPDPlan_ImplementDate__c = Date.today().addDays(5);
|
opd.NoOpp_Reason__c = 'HCP对应';
|
opd.OPDType__c = '科室';
|
|
insert opd;
|
|
|
Rental_Apply__c rap = new Rental_Apply__c();
|
rap.Name = 'testra';
|
rap.Product_category__c = 'GI';
|
rap.Hospital__c = company.Id;
|
rap.Strategic_dept__c = section .Id;
|
rap.Account__c = depart.Id;
|
rap.demo_purpose2__c = '试用(无询价)';
|
rap.Request_shipping_day__c = Date.toDay();
|
rap.Request_return_day__c = Date.toDay();
|
rap.OPDPlan__c = opd.id;
|
|
insert rap;
|
|
System.Test.startTest();
|
|
Attachment att = new Attachment(
|
Name = 'test',
|
ParentId = rap.Id,
|
Body = EncodingUtil.base64Decode('test')
|
);
|
|
insert att;
|
System.Test.stopTest();
|
|
}
|
|
private static User getUser() {
|
String timenow = Datetime.now().format('yyyyMMddHHmmss');
|
User usr = new User(Test_staff__c = true, LastName = 'TestZY', FirstName = 'TestZY',
|
Alias = 'zy', CommunityNickname = 'TestMiao', Email = 'TestZY@test.com',
|
Username = 'Test' + timenow + '@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
|
TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = System.Label.ProfileId_SystemAdmin,
|
Province__c = '北京市');
|
insert usr;
|
return usr;
|
}
|
|
// MZY SWAG-BXXBKA 2021-02-19 end
|
|
}
|