高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/SpareIsLoanBatchTest.cls
@@ -129,7 +129,7 @@
        raObj.OPDPlan__c = oPDPlan.Id;
        raObj.Product_category__c = 'GI';
        raObj.Demo_purpose1__c = '产品试用';
        raObj.demo_purpose2__c = '试用(无询价)';
        // raObj.demo_purpose2__c = '试用(无询价)';
        raObj.direct_send__c = '医疗机构';
        raObj.Loaner_received_staff__c = '王五';
        raObj.Loaner_received_staff_phone__c = '110';
@@ -141,7 +141,8 @@
        raObj.Request_return_day__c = Date.toDay();
        raObj.Follow_UP_Opp__c = opp.Id;
        raObj.Status_Text__c = '已批准';
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia');
        // 2023-01-06 验证规则跳过,需要改成有询价 ssm
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongyouxunjia');
        raObj.direct_send__c = '医疗机构';
        insert raObj;
@@ -373,7 +374,8 @@
        raObj.OPDPlan__c = oPDPlan.Id;
        raObj.Product_category__c = 'GI';
        raObj.Demo_purpose1__c = '产品试用';
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia');
        // 2023-01-06 验证规则限制,改为有询价 ssm
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongyouxunjia');
        raObj.direct_send__c = '医疗机构';
        raObj.Loaner_received_staff__c = '王五';
        raObj.Loaner_received_staff_phone__c = '110';
@@ -512,7 +514,8 @@
        System.assertEquals('完了', raList[0].RA_Status__c);
        System.assertEquals(1, raList.size());
        Id execBTId = null;
        execBTId = Database.executeBatch(new SpareIsLoanBatch());
        // 2023-01-06 提高覆盖率 测试isneedexecute分支 ssm
        execBTId = Database.executeBatch(new SpareIsLoanBatch(true));
        Opportunity  opp2 = [select Id,Spare_Application_Singular__c 
            from Opportunity where Id = :opp.Id];
        System.assertEquals(5, opp2.Spare_Application_Singular__c);
@@ -624,7 +627,8 @@
        raObj.Request_return_day__c = Date.toDay();
        raObj.Follow_UP_Opp__c = opp.Id;
        raObj.Status_Text__c = '已批准';
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongwuxunjia');
        // 2023-01-06 验证规则限制,需要改成有询价 ssm
        raObj.demo_purpose2__c = FixtureUtil.raDemo_purpose2MAP.get('shiyongyouxunjia');
        // raObj.Bollow_Date__c = Date.today();
        raObj.direct_send__c = '医疗机构';
        //raObj.Status__c = '已批准';
@@ -756,18 +760,20 @@
        System.assertEquals(1, raList.size());
        
        Id execBTId = null;
        execBTId = Database.executeBatch(new SpareIsLoanBatch());
        // 2023-01-06 新构造函数测试 ssm
        execBTId = Database.executeBatch(new SpareIsLoanBatch(2));
        Rental_Apply__c rac = [select Id,OPDAmount__c from Rental_Apply__c where Id = :raObj.Id ];
        System.assertEquals(1, rac.OPDAmount__c);
        System.Test.StopTest();
        List<String> oppIdList = new List<String>();
        rep1.Status__c = '申请中';
        update rep1;
        raObj.OPDAmount__c = 5;
        oppIdList.add(raObj.Follow_UP_Opp__c);
        execBTId = Database.executeBatch(new SpareIsLoanBatch(oppIdList));
        rac = [select Id,OPDAmount__c from Rental_Apply__c where Id = :raObj.Id];
        System.assertEquals(0, rac.OPDAmount__c);
        // 2023-01-06 业务确认不会出现状态回退的问题,不考虑以下情况 ssm
        // List<String> oppIdList = new List<String>();
        // rep1.Status__c = '申请中';
        // update rep1;
        // raObj.OPDAmount__c = 5;
        // oppIdList.add(raObj.Follow_UP_Opp__c);
        // execBTId = Database.executeBatch(new SpareIsLoanBatch(oppIdList));
        // rac = [select Id,OPDAmount__c from Rental_Apply__c where Id = :raObj.Id];
        // System.assertEquals(0, rac.OPDAmount__c);
        
    }