liuyn
2024-03-11 a87f1c3df03078814ee97ad0c8ac200a232419e9
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
@isTest
private class NewPaymentPlanLoadControllerTest {
    private static Id pricebookId = ControllerUtil.getStandardPricebook().Id;
    private static Account hospital = null;
    private static List<Account> strategicDep = null;
    private static Product2 productA = null;
    private static Account dep = null;
    private static PricebookEntry entry = null;
    private static Asset asset01 = null;
    private static Asset asset02 = null;
    private static Asset asset03 = null;
    private static Maintenance_Contract__c contract = null;
    static {
        
    }
    @isTest static void test_method_one() {
        Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin];
        // 病院を作る
        hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        insert hospital;
        
        // 戦略科室を得る
        strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_GI'];
        
        // 診療科を作る
        dep = new Account();
        dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'].id;
        dep.Name = 'test dep';
        dep.ParentId = strategicDep[0].Id;
        dep.Department_Class__c = strategicDep[0].Id;
        dep.Hospital__c = hospital.Id;
        insert dep;
        
        // 製品を作る
        productA = new Product2( Name='テスト商品');
        insert productA;
        
        // 価格表エントリを作成する     
        entry = new PricebookEntry( Pricebook2Id=pricebookId, Product2Id=productA.Id);
        entry.UnitPrice = 0;
        entry.IsActive = true;
        entry.UseStandardPrice = false;
        entry.CurrencyIsoCode = 'CNY';
        entry.Product2Id = productA.Id;
        insert entry;
        
 
        
       
        List<User> UserList = new List<User>();
 
        User MacOwner = new User(Test_staff__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com',Job_Category__c = '销售服务', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        UserList.add(MacOwner);
        User MacOwner1 = new User(Test_staff__c = true, LastName = 'hp2', FirstName = 'owner2', Alias = 'hp', CommunityNickname = 'hpOwner2', Email = 'olympus_hpowner@sunbridge.com',Job_Category__c = '销售服务',  Username = 'olympus_hpowner@sunbridge.com2', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        UserList.add(MacOwner1);
        User MacOwner2 = new User(Test_staff__c = true, LastName = 'hp3', FirstName = 'owner3', Alias = 'hp', CommunityNickname = 'hpOwner3', Email = 'olympus_hpowner@sunbridge.com',Job_Category__c = '销售服务',  Username = 'olympus_hpowner@sunbridge.com3', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        UserList.add(MacOwner2);
        User MacOwner3 = new User(Test_staff__c = true, LastName = 'hp4', FirstName = 'owner4', Alias = 'hp', CommunityNickname = 'hpOwner4', Email = 'olympus_hpowner@sunbridge.com',Job_Category__c = '销售服务',  Username = 'olympus_hpowner@sunbridge.com4', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        UserList.add(MacOwner3);
        User MacOwner4 = new User(Test_staff__c = true, LastName = 'hp5', FirstName = 'owner5', Alias = 'hp', CommunityNickname = 'hpOwner5', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com5',Job_Category__c = '销售服务',  IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        UserList.add(MacOwner4);
        User MacOwner5 = new User(Test_staff__c = true, LastName = 'hp5', FirstName = 'owner6', Alias = 'hp', CommunityNickname = 'hpOwner6', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com6',Job_Category__c = '销售服务',  IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        UserList.add(MacOwner5);
        insert UserList;
        // Implement test code
        Maintenance_Contract__c target01 = new Maintenance_Contract__c();
        target01.Department__c = dep.Id;
        target01.Name = 'TestMAC';
        target01.Contract_Start_Date__c = Date.today();
        target01.Contract_End_Date__c = Date.today().addMonths(+12);
        target01.Service_Contract_Staff__c = MacOwner.id;
        target01.Is_Standard_Contract__c = '是';
        target01.Inspection_Time__c = '1';
        target01.Total_Payment_Time__c = '1';
        target01.Term_Of_Payment__c = '多次付款';
        target01.Contract_Range__c = Decimal.valueOf('12');
        // target01.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Maintenance_Contract__c' and DeveloperName = 'NewMaintenance_Contract'].id;
        // target01.agree_Upper_limit__c = true;
        insert target01;
 
 
        PageReference page = new PageReference('apex/NewPaymentPlanLoad?id=' + target01.Id );
        System.Test.setCurrentPage(page);
        NewPaymentPlanLoadController ppc = new NewPaymentPlanLoadController();
        ppc.init();
        ppc.save();
 
        target01.Service_Contract_Staff__c = MacOwner1.id;
        update target01;
        ppc.init();
        ppc.save();
        target01.Service_Contract_Staff__c = MacOwner2.id;
        update target01;
        ppc.init();
        ppc.PageMCEElement.Is_Standard_Contract__c = '是';
        ppc.PageMCEElement.Term_Of_Payment__c = '多次付款';
        ppc.PageMCEElement.Payment_Plan_Sum_First__c = 2000;
        ppc.PageMCEElement.Payment_Plan_Date_First__c = Date.today();
        target01.one_off_payment_agreed_period__c = '15';
        ppc.print();
        ppc.save();
        target01.Service_Contract_Staff__c = MacOwner3.id;
        update target01;
        ppc.init();
        ppc.PageMCEElement.Is_Standard_Contract__c = '是';
        ppc.PageMCEElement.Term_Of_Payment__c = '一次性付款';
        ppc.PageMCEElement.Payment_Plan_Sum_First__c = 2000;
        ppc.PageMCEElement.Payment_Plan_Date_First__c = Date.today();
        target01.one_off_payment_agreed_period__c = '15';
        ppc.print();
        ppc.save();
        target01.Service_Contract_Staff__c = MacOwner4.id;
        update target01;
        ppc.init();
        ppc.PageMCEElement.Is_Standard_Contract__c = '否';
        ppc.PageMCEElement.Term_Of_Payment__c = '一次性付款';
        ppc.print();
        ppc.save();
        
        target01.Service_Contract_Staff__c = MacOwner5.id;
        update target01;
        ppc.init();
        ppc.save();
        ppc.getSmall_Repair_Time(); 
        ppc.getLive_Technical_Support_Time();
        ppc.getTour_Check(); 
        ppc.getTotal_Payment_Time(); 
        ppc.getTerm_Of_Payment(); 
        ppc.getFirst_Party_Contract_Number(); 
        ppc.getCheck_Of_Payment(); 
        ppc.getDedust(); 
        ppc.getNegotiate_Mean(); 
        ppc.getBig_Repair_Time(); 
        ppc.getone_off_payment_agreed_period(); 
        ppc.dummy();
 
    }
    
    @isTest static void test_method_two() {
 
    }
    
}