@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; List 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[0].ShareWithPowerBI__c); //System.assertEquals(true, bi_oli1[0].ShareWithPowerBIFormula__c); //System.assertEquals(false, bi_oli1[0].ShareWithPowerBI_NeedUpd__c); opp1.StageName = '出荷'; update opp1; List 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); } // 2021-03-11 mzy add SFDC合并调查Batch start static testMethod void myUnitTest2() { 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; opp1.StageName = '完了'; update opp1; BI_OpportunityLineItem__c bo = new BI_OpportunityLineItem__c(); bo.OpportunityId__c = opp1.Id; bo.Name = 'testBI'; bo.PowerBI_Source_Id__c = '00k1000000rHneEAAz'; bo.ShareWithPowerBI__c = true; insert bo; //System.assertEquals(null, bo.ShareWithPowerBIFormula__c); //false //System.assertEquals(false, bo.ShareWithPowerBI__c); //true //System.assertEquals(false, bo.ShareWithPowerBI_NeedUpd__c); List bi_oli1 = [select id, ShareWithPowerBI__c, ShareWithPowerBIFormula__c, ShareWithPowerBI_NeedUpd__c from BI_OpportunityLineItem__c where OpportunityId__c = :opp1.Id]; Id execBTId = Database.executeBatch(new PowerBIUpdateBatch(true), 100); } // 2021-03-11 mzy add SFDC合并调查Batch end }