buli
2023-07-14 5b5c1e16deaa3a9d6d0ed1ffca390655ed103df7
force-app/main/default/classes/lexSearchAgencyHospitalControllerTest.cls
@@ -1,93 +1,56 @@
@isTest
private class lexSearchAgencyHospitalControllerTest {
    @isTest
    static void testInit() {
    static void testInit(){
        User myUser_test;
        Account myAccount2;
        Product2__c pro2;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
        User thisUser = [ SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser){
            List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
            if (rectCo.size() == 0) {
                return;
            }
            Profile prof = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            Product2 prod02 = new Product2(
                Name = 'Test02181',
                ProductCode = 'Test0218',
                Asset_Model_No__c = 'Test0218',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                SFDA_Approbation_No__c = 'Test002',
                Packing_list_manual__c = 12,
                SFDA_Expiration_Date__c = Date.today(),
                Category5__c = 'tset8',
                Manual_Entry__c = false
            );
            pro2 = new Product2__c(Name = 'Pro002181', OT_CODE_Text__c = 'Test002181', Product2__c = prod02.Id);
            Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
            Product2 prod02 = new Product2(Name='Test02181',ProductCode='Test0218',Asset_Model_No__c = 'Test0218',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = 'Test002',Packing_list_manual__c = 12,SFDA_Expiration_Date__c= Date.today(),Category5__c = 'tset8',Manual_Entry__c = false);
            pro2 = new Product2__c(Name='Pro002181',OT_CODE_Text__c='Test002181',Product2__c = prod02.Id);
            insert pro2;
            myAccount2 = new Account(name = 'Testaccount003', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '2');
            myAccount2 = new Account(name='Testaccount003',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '2');
            insert myAccount2;
            Contact core = new Contact(email = 'wan@salesforce.com', firstname = 'wan', lastname = 'Plumbers', accountid = myAccount2.id);
            Contact core = new Contact(email='wan@salesforce.com', firstname='wan',lastname='Plumbers',accountid=myAccount2.id);
            insert core;
            myUser_test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                UserPro_Type__c = 'ENG',
                Work_Location__c = '北京'
            );
            myUser_test = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert myUser_test;
            myUser_test.UserPro_Type__c = '';
            update myUser_test;
        }
        System.runAs(MyUser_Test) {
        System.runAs(MyUser_Test){
            System.Test.startTest();
            String accountId = myUser_test.accountid;
            String agencyProType = myUser_test.UserPro_Type__c;
            String searchName = '';
            List<Agency_Hospital_Link__c> ahlInfo = [
                SELECT Hospital__c, Hospital__r.Name
                FROM Agency_Hospital_Link__c
                WHERE Agency__c = :accountId AND Hosptial_Type__c != NULL
                LIMIT 1
            ];
            List<Agency_Hospital_Link__c> ahlInfo = [SELECT Hospital__c,Hospital__r.Name
                                                       FROM Agency_Hospital_Link__c
                                                      WHERE Agency__c =:accountId
                                                        AND Hosptial_Type__c <> NULL
                                                      LIMIT 1];
            Set<Id> whoIds = new Set<Id>();
            for (Agency_Hospital_Link__c ahl : ahlInfo) {
            for(Agency_Hospital_Link__c ahl : ahlInfo){
                whoIds.add(ahl.Hospital__c);
                if (String.isBlank(searchName)) {
                if(String.isBlank(searchName)){
                    searchName = ahl.Hospital__r.Name;
                }
            }
            Map<ID, Account> accInfo = new Map<ID, Account>(
                [
                    SELECT Id, Name, State_Master__c, State_Master__r.Name
                    FROM Account
                    WHERE Id IN :whoIds
                ]
            );
            Map<ID, Account> accInfo = new Map<ID, Account>([SELECT Id,Name,State_Master__c,State_Master__r.Name
                                                               FROM Account
                                                              WHERE Id IN:whoIds]);
            Map<String, object> data = new Map<String, object>();
            data.put('accInfo', accInfo);
            data.put('accInfo',accInfo);
            String ctype = 'ET';
            lexSearchAgencyHospitalController.init(ctype);
            lexSearchAgencyHospitalController.serContact(searchName, ctype);
            lexSearchAgencyHospitalController.serContact(searchName,ctype);
            System.Test.stopTest();
        }
    }
}
}