@isTest
|
private class CreateTargetCmpTest {
|
|
public static Account account1 = new Account();
|
public static Account account2 = new Account();
|
public static Contact contact1 = new Contact();
|
public static Contact contact2 = new Contact();
|
public static User user = new User();
|
public static Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c();
|
public static Agency_Contact__c agency_contact = new Agency_Contact__c();
|
public static ProductTypes__c product_types = new ProductTypes__c();
|
public static ProductTypes__c product_types2 = new ProductTypes__c();
|
public static ProductTypes__c product_types3 = new ProductTypes__c();
|
public static Agency_Opportunity__c agency_opportunity = new Agency_Opportunity__c();
|
public static OlympusCalendar__c olympus_calendar = new OlympusCalendar__c();
|
|
public static String report_id;
|
public static String report_header_id;
|
|
private static void testInit() {
|
// 取引先
|
account1.Name = 'test1医院';
|
account1.RecordTypeId = '01210000000QemG';
|
insert account1;
|
|
account2.Name = 'test1经销商';
|
account2.RecordTypeId = '01210000000Qem1';
|
insert account2;
|
|
// 取引先責任者
|
contact1.AccountId = account1.Id;
|
contact1.FirstName = '責任者';
|
contact1.LastName = 'test1医院';
|
insert contact1;
|
|
contact2.AccountId = account2.Id;
|
contact2.FirstName = '責任者';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
// ユーザー
|
Profile p = [select Id from Profile where Name = '901_经销商活动系统'];
|
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.Alias = 'テユ';
|
user.CommunityNickname = 'テストユーザー';
|
// user.SalesManager__c = UserInfo.getUserId();
|
insert user;
|
|
// 代理店医院
|
agency_hospital_link.Name = 'test1代理店医院';
|
agency_hospital_link.Hospital__c = account1.Id;
|
agency_hospital_link.Agency__c = account2.Id;
|
agency_hospital_link.OwnerId = user.Id;
|
agency_hospital_link.Agency_Campaign_Obj__c = true;
|
insert agency_hospital_link;
|
|
// 先生
|
agency_contact.Name = 'test1医院先生';
|
agency_contact.Doctor_Division1__c = '院长';
|
agency_contact.Type__c = '医生';
|
agency_contact.Agency_Hospital__c = agency_hospital_link.Id;
|
agency_contact.OwnerId = user.Id;
|
insert agency_contact;
|
|
agency_contact.Doctor_Division1__c = '副院长';
|
update agency_contact;
|
|
// 製品区分
|
product_types.Name = '製品区分1';
|
product_types.OwnerId = user.Id;
|
product_types.Department_Cateogy__c = 'GI;ET;BF;GS;URO;GYN;ENT;OTH';
|
insert product_types;
|
// 製品区分2
|
product_types2.Name = '製品区分2';
|
product_types2.OwnerId = user.Id;
|
product_types2.Department_Cateogy__c = 'GI;ET;BF;GS;URO;GYN;ENT;OTH';
|
insert product_types2;
|
// 製品区分3
|
product_types3.Name = '製品区分3';
|
product_types3.OwnerId = user.Id;
|
product_types3.Department_Cateogy__c = 'GI;ET;BF;GS;URO;GYN;ENT;OTH';
|
insert product_types3;
|
|
// 引合
|
Oly_TriggerHandler.bypass('AgencyOpportunityHandler');
|
agency_opportunity.RecordTypeId = [select Id,DeveloperName from RecordType where IsActive = true and SobjectType = 'Agency_Opportunity__c' and DeveloperName = 'Opportunity'].Id;
|
agency_opportunity.Name = '引合1';
|
agency_opportunity.Hospital_Target__c = account1.Id;
|
agency_opportunity.Agency__c = account2.Id;
|
agency_opportunity.Agency_Hospital__c = agency_hospital_link.Id;
|
agency_opportunity.StageName__c = '还没申请预算';
|
agency_opportunity.OwnerId = user.Id;
|
agency_opportunity.NewOpportunity_Agency_Apply_Status__c = '草案中';
|
insert agency_opportunity;
|
|
// オリンパスカレンダー
|
olympus_calendar.Date__c = Date.valueOf('2017-04-10');
|
olympus_calendar.OwnerId = user.Id;
|
insert olympus_calendar;
|
}
|
|
@isTest
|
static void getProductTest() {
|
testInit();
|
|
System.runAs(user) {
|
// 病院リスト取得
|
ProductTypes__c test = CreateTargetCmp.getProduct(product_types.Id);
|
System.assertEquals(test.Department_Cateogy__c, 'GI;ET;BF;GS;URO;GYN;ENT;OTH');
|
}
|
}
|
|
@isTest
|
static void getProductListTest() {
|
testInit();
|
|
System.runAs(user) {
|
// 病院リスト取得
|
Map<String,Object> test = CreateTargetCmp.getProductList();
|
System.assertNotEquals(test.get('GI'), null);
|
}
|
}
|
|
@isTest
|
static void getHospitalTest() {
|
testInit();
|
|
System.runAs(user) {
|
// 病院リスト取得
|
Map<String, String> test = CreateTargetCmp.getHospital(agency_opportunity.Id);
|
System.assertNotEquals(test, null);
|
}
|
}
|
|
@isTest
|
static void setGetDeptAmountTest() {
|
testInit();
|
|
System.runAs(user) {
|
// 病院リスト取得
|
CreateTargetCmp.createSFTarget(agency_hospital_link.Id, false, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'},
|
new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, new String[]{product_types.Id,product_types2.Id,product_types3.Id,'1','1','1'}, '150P');
|
//System.assertNotEquals(test, null);
|
Map<String,Object> test = CreateTargetCmp.getDeptAmount(agency_hospital_link.Id);
|
System.assertNotEquals(test, null);
|
System.assertNotEquals(test.get('GI'), null);
|
}
|
}
|
|
|
/*
|
@isTest
|
static void test_method_one() {
|
// 取引先
|
Account account2 = new Account();
|
account2.Name = 'test1经销商';
|
account2.RecordTypeId = '01210000000Qem1';
|
insert account2;
|
|
Account account1 = new Account();
|
account1.Name = 'test1医院';
|
account1.RecordTypeId = '01210000000QemG';
|
insert account1;
|
|
Account account3 = new Account();
|
account3.Name = 'test2医院';
|
account3.RecordTypeId = '01210000000QemG';
|
insert account3;
|
|
// 取引先責任者
|
Contact contact2 = new Contact();
|
contact2.AccountId = account2.Id;
|
contact2.FirstName = '責任者';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
//userデータを作る
|
Profile cpprofile = [select id from Profile where Name = '901_经销商周报'];
|
List<User> UserList = new List<User>();
|
User us = new User(
|
Username = 'TestNam1e@acme.com',
|
Email = 'TestName1@acme.com',
|
Alias = 'TestNam1',
|
CommunityNickname = 'TestName2',
|
TimeZoneSidKey = 'Asia/Tokyo',
|
LocaleSidKey = 'ja_JP',
|
EmailEncodingKey = 'ISO-2022-JP',
|
ProfileId = cpprofile.Id,
|
ContactId = contact2.Id,
|
LanguageLocaleKey = 'ja',
|
//STAFF_CODE__c = '555555',
|
LastName = '鈴木',
|
FirstName = '美一'
|
);
|
UserList.add(us);
|
|
insert UserList;
|
User uuu = [SELECT Id, LastName FROM User WHERE Id =:us.Id];
|
System.assertEquals('鈴木', uuu.LastName);
|
|
//System.runAs(uuu) {
|
|
Id rtId = [select Id,DeveloperName from RecordType where IsActive = true and SobjectType = 'Agency_Opportunity__c' and DeveloperName = 'Target'].Id;
|
//经销商医院データを作る
|
List<Agency_Hospital_Link__c> aHosLinkList = new List<Agency_Hospital_Link__c>();
|
Agency_Hospital_Link__c aHosLink1 = new Agency_Hospital_Link__c(
|
Name = 'Test医院1'
|
, Hospital__c = account1.Id
|
//RecordTypeId = '01210000000QemG'
|
, Agency__c = account2.Id
|
);
|
aHosLinkList.add(aHosLink1);
|
|
Agency_Hospital_Link__c aHosLink2 = new Agency_Hospital_Link__c(
|
Name = 'Test经销商'
|
, Hospital__c = account3.Id
|
, Agency__c = account2.Id
|
//RecordTypeId = '01210000000Qem1'
|
);
|
aHosLinkList.add(aHosLink2);
|
|
//Agency_Hospital_Link__c aHosLink3 = new Agency_Hospital_Link__c(
|
// Name = 'Test医院3');
|
//aHosLinkList.add(aHosLink3);
|
|
insert aHosLinkList;
|
|
List<Agency_Hospital_Link__c> aHosLinkTestList = [SELECT Id, Name FROM Agency_Hospital_Link__c];
|
System.assertEquals(2, aHosLinkTestList.size());
|
List<Agency_Opportunity__c> aOppList = new List<Agency_Opportunity__c>();
|
Agency_Opportunity__c aOpp = new Agency_Opportunity__c(
|
Name = 'Test询价', OwnerId = uuu.Id);
|
//}
|
}
|
|
@isTest
|
static void test_method_two() {
|
// Implement test code
|
}
|
*/
|
}
|