buli
2023-07-11 80a3f59e2d3df07805bc67e329300b8de90a5b3a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
@isTest
private class lexSearchAgencyHospitalControllerTest {
    @isTest
    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 = '販売店'
            ];
            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);
            insert pro2;
            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);
            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 = '北京'
            );
            insert myUser_test;
            myUser_test.UserPro_Type__c = '';
            update 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
            ];
            Set<Id> whoIds = new Set<Id>();
            for (Agency_Hospital_Link__c ahl : ahlInfo) {
                whoIds.add(ahl.Hospital__c);
                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<String, object> data = new Map<String, object>();
            data.put('accInfo', accInfo);
            String ctype = 'ET';
            lexSearchAgencyHospitalController.init(ctype);
            lexSearchAgencyHospitalController.serContact(searchName, ctype);
            System.Test.stopTest();
        }
    }
}