@isTest
|
public with sharing class SubmitForApprovalControllerTest {
|
|
static Maintenance_Contract__c setupTestData02(Account hospital, Account strategicDep, Account dep) {
|
Maintenance_Contract__c mc = new Maintenance_Contract__c();
|
mc.Name = '12313132'; //合同名
|
mc.Status__c = '询价中'; //状态
|
mc.Department__c = dep.Id; //科室
|
mc.Service_Contract_Staff__c = UserInfo.getUserId(); //主担当者
|
// mc.Negotiation_Start_Date__c = Date.today(); //谈判开始日
|
// mc.Opportunity_Stage__c = '意向确认'; //询价进展状态
|
// mc.Forecast_Selling_Price__c = 100000; //预测成交价
|
// mc.Sales_Method__c = '公开招标'; //招标方式
|
insert mc;
|
return mc;
|
}
|
|
|
@isTest
|
static void setupTestData03() {
|
Account company1 = new Account();
|
company1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
|
company1.Name = '病院テスト1';
|
List<Account> hps = new Account[] {company1};
|
insert hps;
|
List<Account> dc1s = [Select Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c from Account where Parent.Id = :company1.Id and RecordType_DeveloperName__c = 'Department_Class_BF'];
|
StaticParameter.EscapeAccountTrigger = true;
|
Account depart1 = new Account();
|
depart1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart1.Name = '*';
|
depart1.Department_Name__c = '診療科1';
|
depart1.ParentId = dc1s[0].Id;
|
depart1.Department_Class__c = dc1s[0].Id;
|
depart1.Hospital__c = company1.Id;
|
insert depart1;
|
|
Account depart2 = new Account();
|
depart2.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart2.Name = '*';
|
depart2.Department_Name__c = '消化科1';
|
depart2.ParentId = dc1s[0].Id;
|
depart2.Department_Class__c = dc1s[0].Id;
|
depart2.Hospital__c = company1.Id;
|
insert depart2;
|
|
StaticParameter.EscapeSyncProduct2Trigger = true;
|
Maintenance_Contract__c mContract = setupTestData02(company1, dc1s[0], depart1);
|
PageReference page = new PageReference('/apex/SubmitForApprovalPage?id=' + mContract.Id);
|
System.Test.setCurrentPage(page);
|
SubmitForApprovalController sfac = new SubmitForApprovalController();
|
//初始化测试
|
sfac.init();
|
// sfac.lostData.Specific_Reasons__c = '其他(手写)';
|
//提交审批
|
sfac.submit();
|
//保存测试
|
sfac.save();
|
|
|
}
|
|
|
@isTest
|
static void setupTestData04() {
|
Account company1 = new Account();
|
company1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
|
company1.Name = '病院テスト1';
|
List<Account> hps = new Account[] {company1};
|
insert hps;
|
List<Account> dc1s = [Select Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c from Account where Parent.Id = :company1.Id and RecordType_DeveloperName__c = 'Department_Class_BF'];
|
StaticParameter.EscapeAccountTrigger = true;
|
Account depart1 = new Account();
|
depart1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart1.Name = '*';
|
depart1.Department_Name__c = '診療科1';
|
depart1.ParentId = dc1s[0].Id;
|
depart1.Department_Class__c = dc1s[0].Id;
|
depart1.Hospital__c = company1.Id;
|
insert depart1;
|
|
Account depart2 = new Account();
|
depart2.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart2.Name = '*';
|
depart2.Department_Name__c = '消化科1';
|
depart2.ParentId = dc1s[0].Id;
|
depart2.Department_Class__c = dc1s[0].Id;
|
depart2.Hospital__c = company1.Id;
|
insert depart2;
|
|
StaticParameter.EscapeSyncProduct2Trigger = true;
|
Maintenance_Contract__c mContract = setupTestData02(company1, dc1s[0], depart1);
|
PageReference page = new PageReference('/apex/SubmitForApprovalPage?id=' + mContract.Id);
|
System.Test.setCurrentPage(page);
|
SubmitForApprovalController sfac = new SubmitForApprovalController();
|
//初始化测试
|
sfac.init();
|
sfac.lostData.Specific_Reasons__c = '其他(手写)';
|
sfac.lostData.To_Where__c = '医院选择第三方';
|
//提交审批
|
sfac.submit();
|
//保存测试
|
sfac.save();
|
|
|
}
|
|
|
@isTest
|
static void setupTestData05() {
|
Account company1 = new Account();
|
company1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
|
company1.Name = '病院テスト1';
|
List<Account> hps = new Account[] {company1};
|
insert hps;
|
List<Account> dc1s = [Select Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c from Account where Parent.Id = :company1.Id and RecordType_DeveloperName__c = 'Department_Class_BF'];
|
StaticParameter.EscapeAccountTrigger = true;
|
Account depart1 = new Account();
|
depart1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart1.Name = '*';
|
depart1.Department_Name__c = '診療科1';
|
depart1.ParentId = dc1s[0].Id;
|
depart1.Department_Class__c = dc1s[0].Id;
|
depart1.Hospital__c = company1.Id;
|
insert depart1;
|
|
Account depart2 = new Account();
|
depart2.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart2.Name = '*';
|
depart2.Department_Name__c = '消化科1';
|
depart2.ParentId = dc1s[0].Id;
|
depart2.Department_Class__c = dc1s[0].Id;
|
depart2.Hospital__c = company1.Id;
|
insert depart2;
|
|
StaticParameter.EscapeSyncProduct2Trigger = true;
|
Maintenance_Contract__c mContract = setupTestData02(company1, dc1s[0], depart1);
|
PageReference page = new PageReference('/apex/SubmitForApprovalPage?id=' + mContract.Id);
|
System.Test.setCurrentPage(page);
|
SubmitForApprovalController sfac = new SubmitForApprovalController();
|
//初始化测试
|
sfac.init();
|
sfac.lostData.Specific_Reasons__c = '其他(手写)';
|
sfac.lostData.To_Where__c = '其他(手写)';
|
//提交审批
|
sfac.submit();
|
//保存测试
|
sfac.save();
|
}
|
@isTest
|
static void setupTestData06() {
|
Account company1 = new Account();
|
company1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
|
company1.Name = '病院テスト1';
|
List<Account> hps = new Account[] {company1};
|
insert hps;
|
List<Account> dc1s = [Select Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c from Account where Parent.Id = :company1.Id and RecordType_DeveloperName__c = 'Department_Class_BF'];
|
StaticParameter.EscapeAccountTrigger = true;
|
Account depart1 = new Account();
|
depart1.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart1.Name = '*';
|
depart1.Department_Name__c = '診療科1';
|
depart1.ParentId = dc1s[0].Id;
|
depart1.Department_Class__c = dc1s[0].Id;
|
depart1.Hospital__c = company1.Id;
|
insert depart1;
|
|
Account depart2 = new Account();
|
depart2.RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_BF').getRecordTypeId();
|
depart2.Name = '*';
|
depart2.Department_Name__c = '消化科1';
|
depart2.ParentId = dc1s[0].Id;
|
depart2.Department_Class__c = dc1s[0].Id;
|
depart2.Hospital__c = company1.Id;
|
insert depart2;
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.status__c ='契約';
|
contract.Maintenance_Contract_No__c = 'Kami_Contract_No';
|
contract.Contract_Conclusion_Date__c = Date.today();
|
contract.Hospital__c = depart2.Id;
|
contract.Department_Class__c = depart2.Id;
|
contract.Department__c = depart2.Id;
|
contract.Contract_Start_Date__c = Date.today().addDays( -10); // 10日前
|
contract.Contract_End_Date__c = Date.today().addDays( 5); // 5日後
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.RecordTypeId = Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('VM_Contract').getRecordTypeId();
|
insert contract;
|
|
Lost_Report__c lr = new Lost_Report__c();
|
lr.Maintenance_Contract__c = contract.ID;
|
lr.Specific_Reasons__c = '跟进不够';
|
lr.To_Where__c = '';
|
lr.Status__c = '审批中';
|
insert lr;
|
|
|
StaticParameter.EscapeSyncProduct2Trigger = true;
|
Maintenance_Contract__c mContract = setupTestData02(company1, dc1s[0], depart1);
|
PageReference page = new PageReference('/apex/SubmitForApprovalPage?id=' + lr.Id);
|
System.Test.setCurrentPage(page);
|
SubmitForApprovalController sfac = new SubmitForApprovalController();
|
//初始化测试
|
sfac.init();
|
sfac.lostData.Specific_Reasons__c = '其他(手写)';
|
sfac.lostData.To_Where__c = '其他(手写)';
|
//提交审批
|
sfac.submit();
|
//保存测试
|
sfac.save();
|
}
|
|
|
}
|