@isTest
private class otherLookUpTest {
   
    @isTest
    public static void testInit() {
        Test.startTest();
        if (Test.isRunningTest()) {
            System.runAs(new User(Id = UserInfo.getUserId())){
                ControllerUtil.EscapeNFM001Trigger = true;
        // 省
        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;

              
                String searchTerm = '';
                String objName ='SearchVisitorPlace';
                String filter = '';
                String visitPlaceId = '';

                Infrastructure_Project__c project = new Infrastructure_Project__c();
                project.Name = 'Test';
                project.Province__c = '北京市';
                project.City__c = '北京市';
                project.OCSM_Hospital__c = hospital.Id;
                insert project;

                RecordType rectOpp = [select id from RecordType where IsActive = true and SobjectType = 'Opportunity' and DeveloperName = 'Opportunity' ];
                Opportunity opp = new Opportunity(
                   Name='testOpp1',
                   StageName='引合',
                   CloseDate=Date.today(),
                   Sales_Root__c = '販売店',
                   Competitor__c ='A',
                   Click_Close_Date__c = null,
                   RecordType = rectOpp,
                   AccountId = dep.Id
                );
                insert opp;

                searchTerm = '二连 浩特蒙中医院';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                searchTerm = '二连';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                visitPlaceId = dep.Id;
                objName = 'SearchVisitorPlace_Sales';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                objName = 'SearchVisitorPlace_Training';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                objName = 'MaintenanceContract';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                objName = 'InfrastructureProject';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                objName = 'SearchVisitorPlace_Campaign';
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
                objName = 'Opportunity';
                visitPlaceId = dep.Id;
                otherLookUp.lookUp(searchTerm, objName, filter,visitPlaceId);
               
               
               
            }
        }
        
        Test.stopTest();
    }

    // @isTest
    // public static void testInitCustomClone() {
    //     Test.startTest();
      
    //     Test.stopTest();
    // }
}