/**
* This class contains unit tests for validating the behavior of Apex classes
* and triggers.
*
* Unit tests are class methods that verify whether a particular piece
* of code is working properly. Unit test methods take no arguments,
* commit no data to the database, and are flagged with the testMethod
* keyword in the method definition.
*
* All test methods in an organization are executed whenever Apex code is deployed
* to a production organization to confirm correctness, ensure code
* coverage, and prevent regressions. All Apex classes are
* required to have at least 75% code coverage in order to be deployed
* to a production organization. In addition, all triggers must have some code coverage.
*
* The @isTest class annotation indicates this class only contains test
* methods. Classes defined with the @isTest annotation do not count against
* the organization size limit for all Apex scripts.
*
* See the Apex Language Reference for more information about Testing and Code Coverage.
*/
@isTest
private class QISTriggerTest {
static testMethod void myUnitTest() {
QIS_Report__c qr = new QIS_Report__c(
RC__c = UserInfo.getUserId(),
Photo_1__c = '
',
Photo_2__c = '
',
Photo_3__c = '
',
Photo_4__c = '
',
Damage_For_Doc_Or_Pat__c = '有',
Relation_With_The_Problem__c = '有可能',
Report_For_Goz__c = '不知道',
Name = 'QIS012345',
BusinessAssistantNo__c = UserInfo.getUserId(),
QIS_Submit_day__c = Date.Today()
);
insert qr;
qr = [select Photo_1_Text__c, Photo_2_Text__c, Photo_3_Text__c, Photo_4_Text__c from QIS_Report__c where Id = :qr.Id];
System.assertNotEquals(null, qr.Photo_1_Text__c);
System.assertNotEquals(null, qr.Photo_2_Text__c);
System.assertNotEquals(null, qr.Photo_3_Text__c);
System.assertNotEquals(null, qr.Photo_4_Text__c);
}
static testMethod void triggerTest() {
User us = new User(Test_staff__c = true, LastName = 'TestMao2', FirstName = 'TestMaoF2',
Alias = 'hp2', CommunityNickname = 'TestMao2', Email = 'Test@sunbridge.com',
Username = 'Test2211@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja',
ProfileId = System.Label.ProfileId_SystemAdmin,
Dept__c = '医疗华北营业本部', Province__c = '北京市',Job_Category__c='销售服务');
insert us;
User hpOwner = new User(Test_staff__c = true, LastName = 'TestMao1', FirstName = 'TestMaoF1',
Alias = 'hp1', CommunityNickname = 'TestMao1', Email = 'Test1@sunbridge.com',
Username = 'Test1122@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja',
ProfileId = System.Label.ProfileId_SystemAdmin,
Dept__c = '医疗华北营业本部', Province__c = '北京市',Job_Category__c='销售市场');
insert hpOwner;
System.runAs(us) {
OlympusCalendar__c oly1 = new OlympusCalendar__c(Date__c=Date.valueOf('2030-12-17'));
insert oly1;
OlympusCalendar__c oly2 = new OlympusCalendar__c(Date__c=Date.valueOf('2030-12-17'));
insert oly2;
OlympusCalendar__c oly3 = new OlympusCalendar__c(Date__c=Date.valueOf('2030-12-17'));
insert oly3;
QIS_Report__c qr = new QIS_Report__c(
RC__c = hpOwner.Id,
Photo_1__c = '
',
Photo_2__c = '
',
Photo_3__c = '
',
Photo_4__c = '
',
Damage_For_Doc_Or_Pat__c = '有',
Relation_With_The_Problem__c = '有可能',
Report_For_Goz__c = '不知道',
Name = 'QIS012345',
BusinessAssistantNo__c = us.Id,
QIS_Submit_day__c = Date.Today()
);
insert qr;
qr.RC__c = us.Id;
update qr;
System.Test.startTest();
us.Province__c = '河南省';
update us;
update qr;
us.Province__c = '辽宁省';
update us;
update qr;
us.Province__c = '海南省';
update us;
update qr;
us.Province__c = '四川省';
update us;
update qr;
us.Province__c = '安徽省';
update us;
//update qr;
System.Test.stopTest();
}
}
//2020/11/20 songxiaoqi start
static testMethod void ETcTest(){
User us = new User(Test_staff__c = true, LastName = 'TestMao2', FirstName = 'TestMaoF2',
Alias = 'hp2', CommunityNickname = 'TestMao2', Email = 'Test@sunbridge.com',
Username = 'Test2211@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja',
ProfileId = System.Label.ProfileId_SystemAdmin,
Dept__c = '医疗华北营业本部', Province__c = '北京市',Job_Category__c='销售服务');
insert us;
User hpOwner = new User(Test_staff__c = true, LastName = 'TestMao1', FirstName = 'TestMaoF1',
Alias = 'hp1', CommunityNickname = 'TestMao1', Email = 'Test1@sunbridge.com',
Username = 'Test1122@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP',
TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja',
ProfileId = System.Label.ProfileId_SystemAdmin,
Dept__c = '医疗华北营业本部', Province__c = '北京市',Job_Category__c='销售市场');
insert hpOwner;
System.runAs(us) {
OlympusCalendar__c oly1 = new OlympusCalendar__c(Date__c=Date.valueOf('2030-12-17'));
insert oly1;
OlympusCalendar__c oly2 = new OlympusCalendar__c(Date__c=Date.valueOf('2030-12-17'));
insert oly2;
OlympusCalendar__c oly3 = new OlympusCalendar__c(Date__c=Date.valueOf('2030-12-17'));
insert oly3;
QIS_Report__c qr = new QIS_Report__c(
RC__c = hpOwner.Id,
Photo_1__c = '
',
Photo_2__c = '
',
Photo_3__c = '
',
Photo_4__c = '
',
Damage_For_Doc_Or_Pat__c = '有',
Relation_With_The_Problem__c = '有可能',
Report_For_Goz__c = '不知道',
Name = 'QIS012345',
contract_number_ET__c = 'BJ-GYN-152553',
BusinessAssistantNo__c = us.Id,
ET_QIS_SEND_EMAIL1__c = 'olympus@prec-tech.com.stagefull',
ET_QIS_SEND_EMAIL2__c = 'olympus@prec-tech.com.stagefull',
ET_QIS_SEND_EMAIL3__c = 'olympus@prec-tech.com.stagefull',
ET_QIS_SEND_EMAIL4__c = 'olympus@prec-tech.com.stagefull',
QIS_Submit_day__c = Date.Today()
);
insert qr;
qr.RC__c = us.Id;
update qr;
System.Test.startTest();
us.Province__c = '河南省';
update us;
update qr;
System.Test.stopTest();
}
//2020/11/20 songxiaoqi end
}
//wangweipeng LJPH-C7ZBSE 2021/10/27 start
static testMethod void triggerTest2(){
Oly_TriggerHandler.bypass('ContactTriggerHandler');
// 省
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,
Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing',
Fixture_Model_No_T__c = 'n05',
Category2__c='耗材',
Family='ENG',
ProductCode_Ext__c='pc05',Manual_Entry__c=false);
insert pro5;
// 保有设备C (只有附属品 个体管理)
Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus');
assetC1.SerialNumber = 'assetC1';
assetC1.Name = 'assetC1';
assetC1.AccountId = dep.Id;
assetC1.Department_Class__c = strategicDep[0].Id;
assetC1.Hospital__c = hospital.Id;
assetC1.Product2Id = pro5.Id;
assetC1.Quantity = 1;
assetC1.Status = '有库存';
assetC1.Manage_type__c = '个体管理';
assetC1.Internal_asset_location__c = '北京 备品中心';
assetC1.Loaner_accsessary__c = true;
assetC1.Delete_Flag__c = false;
assetC1.Freeze_sign__c = false;
assetC1.Out_of_wh__c = 0;
insert assetC1;
QIS_Report__c qr = new QIS_Report__c(
RC__c = UserInfo.getUserId(),
Photo_1__c = '
',
Photo_2__c = '
',
Photo_3__c = '
',
Photo_4__c = '
',
Damage_For_Doc_Or_Pat__c = '有',
Relation_With_The_Problem__c = '有可能',
Report_For_Goz__c = '不知道',
Name = 'QIS012345',
contract_number_ET__c = 'BJ-GYN-152553',
nonyushohin__c=assetC1.id,
QIS_Submit_day__c = Date.Today()
);
insert qr;
pro5.Category2__c='耗材';
pro5.Family='GI';
update pro5;
update qr;
qr.nonyushohin__c = null;
update qr;
}
//wangweipeng LJPH-C7ZBSE 2021/10/27 end
}