@isTest
private  class ReportControllerTest {

    static testMethod void methodName1(){
        
        Test.startTest();
            Report__c rac = new Report__c();
            rac.Id = 'a0B0l00000FD8o6EAD';
            rac.Status__c = '申請中';
            rac.Submit_time__c = Datetime.now();
            rac.Submit_report_day__c = Date.today();
            rac.Date__c = Date.today();
            update rac;
            Report__c res = [select Status__c,Submit_time__c,Submit_report_day__c from Report__c where Id = 'a0B0l00000FD8o6EAD'];
            System.debug(res);
        Test.stopTest();
        
    }

    static testMethod void methodName3(){
        
        Test.startTest();
        String recordId = 'a0B0l00000FDCPpEAP';
        String isVOC = 'VOC';
        String personId = '00510000002Z2o3AAC';
        Report__c r = [select Status__c,Submit_time__c from Report__c where Id = 'a0B0l00000FDCPpEAP' limit 1];
          
        Test.stopTest();
        
    }


    static testMethod void methodName2(){
        
        Test.startTest();
        String recordId = 'a0B0l00000FDCPpEAP';
        String isVOC = 'VOC';
        String personId = '00510000002Z2o3AAC';
        Report__c rac = new Report__c();
        rac.Id = recordId;
        List<Report__c> r = [select Id,OwnerId from Report__c where Id = :recordId limit 1];
        System.debug(r);
        if (isVOC == 'VOC') {
            // VOC対応者の経理部長総監を設定
            User[] records = [SELECT Id, Job_Category__c, JingliApprovalManager__c, SalesManager__c, BuchangApprovalManager__c, BuchangApprovalManagerSales__c, ZongjianApprovalManager__c FROM User WHERE Id = :personId];
            if (records[0].job_Category__c == '销售服务') {
                rac.VOC_jingli__c = records[0].JingliApprovalManager__c == null ? '' : records[0].JingliApprovalManager__c;
                rac.VOC_buzhang__c = records[0].BuchangApprovalManager__c == null ? '' : records[0].BuchangApprovalManager__c;
            } else {
                rac.VOC_jingli__c = records[0].SalesManager__c == null ? '' : records[0].SalesManager__c;
                rac.VOC_buzhang__c = records[0].BuchangApprovalManagerSales__c == null ? '' : records[0].BuchangApprovalManagerSales__c;
            }
            rac.VOC_zongjian__c = records[0].ZongjianApprovalManager__c == null ? '' : records[0].ZongjianApprovalManager__c;
            rac.Status__c = '判定完毕';
            rac.VOC_Finish__c = false;
            Date serverTimestamp = Date.today();
            rac.VOC_share_date__c = serverTimestamp;
            // share
            List<String> userAccess = new List<String>();
            userAccess.add(rac.Responsible_Person__r.Id + '_Edit');
            userAccess.add(rac.VOC_jingli__r.Id + '_Read');
            userAccess.add(rac.VOC_buzhang__r.Id + '_Read');
            userAccess.add(rac.VOC_zongjian__r.Id + '_Read');
            String rtn = ControllerUtil.setSObjectShare('Report__Share','VOCShare__c',recordId,userAccess,r[0].OwnerId);
            if (rtn != 'OK') {
                return;
            }
            update rac;
            } else {
                rac.Status__c = '完毕';
                rac.VOC_Finish__c = true;
                update rac;
            }
            
        Test.stopTest();
        
    }

    static testMethod void methodName4(){
        Test.startTest();
        String recordId = 'a0B0l00000FDbTOEA1';
        Report__c rac  = new Report__c();
        rac.Id = recordId;
        rac.Status__c = '回答完毕';
        update rac;
        Test.stopTest();
    }



    static testMethod void methodName5(){
        Test.startTest();
        String recordId = 'a0B0l00000FDbTOEA1';
        Report__c rac = new Report__c();
        String Satisfy = '是';
        String Satisfy1 = '';
        rac.Id = recordId;
        if (Satisfy == '是') {
            rac.Status__c = '结果确认完毕';
            } else if (Satisfy == '否') {
            // 対応結果（一回目）に値なければ、一回目の「否」と見なす
            if (Satisfy1 != '否') {
            Report__c[] records = [SELECT Id, VOC_Satisfy__c, VOC_Unsatisfy_Reason__c, VOC_follow_up_result__c, VOC_solution_category__c FROM Report__c WHERE Id = :recordId];
            rac.VOC_Satisfy__c = null;
            rac.VOC_Unsatisfy_Reason__c = null;
            rac.VOC_follow_up_result__c = null;
            rac.VOC_solution_category__c = null;
            rac.VOC_Satisfy1__c= records[0].VOC_Satisfy__c;
            rac.VOC_Unsatisfy_Reason1__c = records[0].VOC_Unsatisfy_Reason__c;
            rac.VOC_follow_up_result1__c = records[0].VOC_follow_up_result__c;
            rac.VOC_solution_category1__c = records[0].VOC_solution_category__c;
            rac.Status__c = '草案中';
            }
            // 対応結果（一回目）に値あれば、二回目の「否」と見なす
            else {
            rac.Status__c = '结果确认完毕';
            }
            }
        update rac;
        Test.stopTest();
    }
    
}