@isTest
|
private class NFM605BatchTest {
|
|
@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.Name = 'NFM105TestCompany';
|
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;
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Department__c = depart.Id;
|
insert contract;
|
// 截止日期是昨天
|
NewMaintenanceReport_Task__c report = new NewMaintenanceReport_Task__c();
|
report.Name = 'test';
|
report.NewMaintenance_Contract__c = contract.Id;
|
report.reissueBatch__c = true;
|
report.CorrespondingPeriod__c = Date.today().addDays(-1);
|
insert report;
|
// 截止日期是7天前
|
NewMaintenanceReport_Task__c report2 = new NewMaintenanceReport_Task__c();
|
report2.Name = 'test';
|
report2.NewMaintenance_Contract__c = contract.Id;
|
report2.reissueBatch__c = true;
|
report2.CorrespondingPeriod__c = Date.today().addDays(-7);
|
insert report2;
|
|
|
NewMaintenanceReport_Task__c report3 = new NewMaintenanceReport_Task__c();
|
report3.Name = 'test';
|
report3.NewMaintenance_Contract__c = contract.Id;
|
report3.reissueBatch__c = true;
|
report3.CorrespondingPeriod__c = Date.today().addDays(-30);
|
insert report3;
|
}
|
@IsTest
|
static void myTest1(){
|
Test.startTest();
|
// 查找指定天数的
|
Database.executeBatch(new NFM605Batch(NFMUtil.formatDate2Str(Date.today().addDays(-7))));
|
Test.stopTest();
|
|
|
}
|
@IsTest
|
static void myTest(){
|
Test.startTest();
|
// 默认查找昨天的
|
Database.executeBatch(new NFM605Batch());
|
Test.stopTest();
|
|
}
|
@IsTest
|
static void myTest2(){
|
Test.startTest();
|
// 查找指定数据
|
List < Id > idList = new List < Id >();
|
List<NewMaintenanceReport_Task__c> getList = [Select Id from NewMaintenanceReport_Task__c];
|
for(NewMaintenanceReport_Task__c task:[Select Id from NewMaintenanceReport_Task__c]){
|
idList.add(task.Id);
|
}
|
if (idList.size() > 0) {
|
Database.executeBatch(new NFM605Batch(idList));
|
}
|
|
Test.stopTest();
|
|
|
}
|
|
static testMethod void myTest3() {
|
System.Test.startTest();
|
Database.executeBatch(new NFM605Batch(true),100);
|
System.Test.stopTest();
|
}
|
}
|