@isTest
public class Sfdc2PoContactBatchTest {
	// NFM606ControllerTest.makeTestRepair();
    static testMethod void testMethod1() {
    	List<RecordType> Agency = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Agency'];
        // 创建经销商
        Account company = new Account();
        company.RecordTypeId = Agency[0].Id;
        company.Name         = 'NFM601';
        upsert company;
        // 创建经销客户人员
        Contact contact = new Contact();
        contact.AccountId = company.Id;
        contact.FirstName = '責任者';
        contact.LastName = '经销客户人员';
        contact.recordtypeId = '01210000000QfWi';
        contact.SendToComPlat__c = true;
        contact.MobilePhone = '13409507069';
        insert contact;

        // 医院的记录类型
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Hp'];
        // 战略科室 消化科的记录类型
        List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_Class_GI'];
        // 消化科的记录类型
        List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];

        // 省
        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 = rectCo[0].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_GI'];

         Account dep = new Account();
        dep.recordtypeId = rectDpt[0].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 = '医院客户人员';
        contact2.recordtypeId = '01210000000QfWdAAK';
        contact2.SendToComPlat__c = true;
        contact2.UnifiedI_Contact_ID__c = '20211117110643';
        insert contact2;
        
        Database.executeBatch(new Sfdc2PoContactBatch());
    }
}