@isTest
private class LookUpUtilControllerTest {
    @TestSetup
    public static void setup() {
     
    }

    @isTest
    public static void test_method_one() {
        Oly_TriggerHandler.bypass(Product2Handler.Class.getName());
        Oly_TriggerHandler.bypass(AssetHandler.Class.getName());
        Oly_TriggerHandler.bypass(FixtureSetHandler.Class.getName());
        Oly_TriggerHandler.bypass(RentalApplyTriggerHandler.Class.getName());
        Oly_TriggerHandler.bypass(RentalApplyEquipmentSetHandler.Class.getName());
        Oly_TriggerHandler.bypass(RentalApplyEquipmentSetDetailHandler.Class.getName());
        Oly_TriggerHandler.bypass(ContactTriggerHandler.Class.getName());
        Oly_TriggerHandler.bypass('AssetTrigger');
        Oly_TriggerHandler.bypass('MaintenanceContractTrigger');
        Oly_TriggerHandler.bypass('MaintenanceContractAfterUpdate');
        Oly_TriggerHandler.bypass('MaintenanceContractBeforeDelete');
        Oly_TriggerHandler.bypass('MaintenanceContractHpDeptUpd');
        Oly_TriggerHandler.bypass('NFM106Controller');
        Oly_TriggerHandler.bypass('NFM101Controller');
        Oly_TriggerHandler.bypass('NFM001AgencyContract');
        Test.startTest();
        if (Test.isRunningTest()) {
            System.runAs(new User(Id = UserInfo.getUserId())){
                String searchTerm = '';
                String objName ='Contact';
                String filter ='';
                LookUpUtilController.searchContactInit('333333');

                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;

                Contact contact2 = new Contact();
                contact2.AccountId = dep.Id;
                contact2.FirstName = '責任者';
                contact2.LastName = 'test1经销商';
                insert contact2;

               
                String visitorPlaceId = dep.Id;
                LookUpUtilController.lookUp(searchTerm,  objName,  filter);
                filter = dep.Id;
                searchTerm = '张 ';
                LookUpUtilController.lookUp(searchTerm,  objName,  filter);
                LookUpUtilController.getPIPLInfo(searchTerm,  objName,  filter);
                LookUpUtilController.searchContactInit(dep.Id);
                LookUpUtilController.searchContactByAccountId(dep.Id,visitorPlaceId);
                LookUpUtilController.searchContactByAccountId(dep.Id,'22222222');
                LookUpUtilController.searchContactByAccountId('111111111','22222222');

            }
        }
        
        Test.stopTest();
    }

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