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
@isTest
private class PowerBIUpdateBatchTest {
    private static Product2 product = null;
    private static Id pricebookId = ControllerUtil.getStandardPricebook().Id;
 
    static {
        product = new Product2( Name='テスト商品');
        insert product;
    }
 
    private static PricebookEntry buildPB(String input) {
        PricebookEntry entry = new PricebookEntry(Pricebook2Id=pricebookId, Product2Id=product.Id);
        entry.UnitPrice = 0;
        entry.IsActive = true;
        entry.UseStandardPrice = false;
        entry.CurrencyIsoCode = input;
        insert entry;
        return entry;
    }
 
    private static void setuserset(){
        PowerBISyncDefine__c oppset = new PowerBISyncDefine__c();
        oppset.Name = 'Opportunity';
        oppset.To_Table__c = 'BI_Opportunity__c';
        insert(oppset);
 
        PowerBISyncDefine__c oliset = new PowerBISyncDefine__c();
        oliset.Name = 'OpportunityLineItem';
        oliset.To_Table__c = 'BI_OpportunityLineItem__c';
        insert(oliset);
    }
 
    static testMethod void myUnitTest() {
        setuserset();
 
        Opportunity opp1 = new Opportunity(Name='aiueo1', StageName='引合', CurrencyIsoCode='CNY', CloseDate=Date.today());
        insert opp1;
 
        PricebookEntry entryCNY = buildPB('CNY');
 
        OpportunityLineItem oli1 = new OpportunityLineItem(OpportunityId=opp1.Id, Name__c='oli1', Quantity=21, UnitPrice=100, PricebookEntryId=entryCNY.Id);
        insert oli1;
 
        BI_OpportunityLineItem__c bi_oli1 = [select id, ShareWithPowerBI__c, ShareWithPowerBIFormula__c, ShareWithPowerBI_NeedUpd__c from BI_OpportunityLineItem__c where OpportunityId__c = :opp1.Id];
        System.assertEquals(true, bi_oli1.ShareWithPowerBI__c);
        System.assertEquals(true, bi_oli1.ShareWithPowerBIFormula__c);
        System.assertEquals(false, bi_oli1.ShareWithPowerBI_NeedUpd__c);
 
        opp1.StageName = '出荷';
        update opp1;
 
        BI_OpportunityLineItem__c bi_oli2 = [select id, ShareWithPowerBI__c, ShareWithPowerBIFormula__c, ShareWithPowerBI_NeedUpd__c from BI_OpportunityLineItem__c where OpportunityId__c = :opp1.Id];
        System.assertEquals(true, bi_oli2.ShareWithPowerBI__c);
        System.assertEquals(false, bi_oli2.ShareWithPowerBIFormula__c);
        System.assertEquals(true, bi_oli2.ShareWithPowerBI_NeedUpd__c);
 
        Id execBTId = Database.executeBatch(new PowerBIUpdateBatch(opp1.Id), 100);
    }
}