@isTest
private class RefixApprovalResponseControllerTest {
  
    static User setNewUser(String firstName, String lastName, String aName, String email) {
        User user = new User(Test_staff__c = true);
        user.LastName = ' ' + lastName;
        user.FirstName = firstName;
        user.Alias = aName;
        user.Email = email;
        user.Username = 'Olympus' + email;
        user.CommunityNickname = aName;
        user.IsActive = true;
        user.EmailEncodingKey = 'ISO-2022-JP';
        user.TimeZoneSidKey = 'Asia/Tokyo';
        user.LocaleSidKey = 'ja_JP';
        user.LanguageLocaleKey = 'ja';
        user.ProfileId = System.Label.ProfileId_SystemAdmin;
        user.Job_Category__c = '销售推广';
        user.Province__c = '上海市';
        user.Use_Start_Date__c = Date.today().addMonths(-6);
        insert user;

        return user;
    }

    static testMethod void test_method_one() {
        User user1 = setNewUser('ztest01', 'User001', 'Zhang001', 'test001@excemaple.com');
        User user2 = setNewUser('ztest02', 'User002', 'Zhang002', 'test002@excemaple.com');
        User user3 = setNewUser('ztest03', 'User003', 'Zhang003', 'test003@excemaple.com');
        User user4 = setNewUser('ztest04', 'User004', 'Zhang004', 'test004@excemaple.com');
        User user5 = setNewUser('ztest05', 'User005', 'Zhang005', 'test005@excemaple.com');
        User toUser = setNewUser('shenqing', 'shenpi', 'spsqTest', 'shenpi@excemaple.com');

        // 病院を作る
        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        hospital.Is_Active__c = '申请中';
        hospital.OwnerId = toUser.Id;

        //WLIG-BS2CJW --执行测试类报异常MIXED_DML_OPERATION ---20200807---update By rentongxiao ---Start
        // insert hospital;
        if (Test.isRunningTest()) {
                System.runAs(new User(Id = UserInfo.getUserId())){
                        insert hospital;
                }
        }
        //WLIG-BS2CJW  ---20200807---update By rentongxiao ---End

        RepairAgainAn__c re=new RepairAgainAn__c();
         if (Test.isRunningTest()) {
                System.runAs(new User(Id = UserInfo.getUserId())){
                        insert re;
                }
        }

        // 画面迁移--沟通应答画面
        PageReference page = new PageReference('/apex/RefixApprovalResponsePopUp?reid=' + re.Id + '&type=response2system');
        System.Test.setCurrentPage(page);
        RefixApprovalResponseController controller = new RefixApprovalResponseController();
        controller.init();
        controller.cc.ResponseNew__c = 'test goutong';
        // 保存
        controller.saveBtn();
    }

   /* static testMethod void test_method_two() {
        User user1 = setNewUser('ztest01', 'User001', 'Zhang001', 'test001@excemaple.com');
        User user2 = setNewUser('ztest02', 'User002', 'Zhang002', 'test002@excemaple.com');
        User user3 = setNewUser('ztest03', 'User003', 'Zhang003', 'test003@excemaple.com');
        User user4 = setNewUser('ztest04', 'User004', 'Zhang004', 'test004@excemaple.com');
        User user5 = setNewUser('ztest05', 'User005', 'Zhang005', 'test005@excemaple.com');
        User toUser = setNewUser('shenqing', 'shenpi', 'spsqTest', 'shenpi@excemaple.com');

        // 病院を作る
        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE  SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        hospital.Is_Active__c = '申请中';
        hospital.OwnerId = toUser.Id;

        //WLIG-BS2CJW --执行测试类报异常MIXED_DML_OPERATION ---20200807---update By rentongxiao ---Start
        // insert hospital;
        if (Test.isRunningTest()) {
                System.runAs(new User(Id = UserInfo.getUserId())){
                        insert hospital;
                }
        }
        //WLIG-BS2CJW  ---20200807---update By rentongxiao ---End
        RepairAgainAn__c re2=new RepairAgainAn__c();
        re2.Name='test2';
         if (Test.isRunningTest()) {
                System.runAs(new User(Id = UserInfo.getUserId())){
                        insert re2;
                }
        }

        // 画面迁移--沟通应答画面
        PageReference page = new PageReference('/apex/RefixApprovalResponsePopUp?reid=' + re2.Id + '&type=response2user');
        System.Test.setCurrentPage(page);
        RefixApprovalResponseController controller2 = new RefixApprovalResponseController(new ApexPages.StandardController(hospital));
        controller2.init();
        controller2.saveBtn();

        // 发送按钮
        controller2.cc.Response__c = 'test goutong';
        controller2.cc.ResponseNew__c = 'test .......';
        controller2.cc.Response_RF_User1__c = user1.Id;
        controller2.cc.Response_RF_User2__c = user2.Id;
        controller2.cc.Response_RF_User3__c = user3.Id;
        controller2.cc.Response_RF_User4__c = user4.Id;
        controller2.cc.Response_RF_User5__c = user5.Id;
        controller2.saveBtn();
    }

    static testMethod void test_method_three() {
        User toUser = setNewUser('shenqing', 'shenpi', 'spsqTest', 'shenpi@excemaple.com');

        // 病院を作る
        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        hospital.Is_Active__c = '申请中';
        hospital.OwnerId = toUser.Id;

        //WLIG-BS2CJW --执行测试类报异常MIXED_DML_OPERATION ---20200807---update By rentongxiao ---Start
        // insert hospital;
        if (Test.isRunningTest()) {
                System.runAs(new User(Id = UserInfo.getUserId())){
                        insert hospital;
                }
        }
        //WLIG-BS2CJW  ---20200807---update By rentongxiao ---Start

        RepairAgainAn__c re3=new RepairAgainAn__c();
        re3.Name='test3';
         if (Test.isRunningTest()) {
                System.runAs(new User(Id = UserInfo.getUserId())){
                        insert re3;
                }
        }


        // 画面迁移--沟通应答画面
        PageReference page = new PageReference('/apex/RefixApprovalResponsePopUp?accid=' + re3.Id + '&type=response2user');
        System.Test.setCurrentPage(page);
        RefixApprovalResponseController controller3 = new RefixApprovalResponseController();
        controller3.init();

        controller3.cc.Response__c = 'test goutong';
        //controller3.re.Owner.Email = '111111111111';
        // 发送按钮
        controller3.saveBtn();
    }*/
}