@isTest private class PersonalEvaluationControllerTest { private static UserRole ur1{get;set;} private static UserRole ur2{get;set;} private static User u1{get;set;} private static User u2{get;set;} private static User u3{get;set;} private static void init() { Profile p = [select id from Profile where id =:System.Label.ProfileId_SystemAdmin]; ur1 = [Select Id from UserRole where DeveloperName = 'Quality_Laws_Department']; ur2 = [Select Id from UserRole where DeveloperName = 'Quality_Laws_Section']; // まず user を作成 u1 = new User(); u1.LastName = '_サンブリッジ'; u1.FirstName = 'あ'; u1.Alias = 'あ'; u1.Email = 'olympusTest01@sunbridge.com'; u1.Username = 'olympusTest11@sunbridge.com'; u1.CommunityNickname = 'あ1'; u1.IsActive = true; u1.EmailEncodingKey = 'ISO-2022-JP'; u1.TimeZoneSidKey = 'Asia/Tokyo'; u1.LocaleSidKey = 'ja_JP'; u1.LanguageLocaleKey = 'ja'; u1.ProfileId = p.id; u1.Job_Category__c = '销售服务'; u1.Province__c = '北京市'; u1.Post__c = '一般'; u1.Province_select__c = '北京市;河南省'; u1.UserRoleId = ur1.id; u2 = new User(); u2.LastName = '_サンブリッジ'; u2.FirstName = 'い'; u2.Alias = 'い'; u2.Email = 'olympusTest02@sunbridge.com'; u2.Username = 'olympusTest12@sunbridge.com'; u2.CommunityNickname = 'い2'; u2.IsActive = true; u2.EmailEncodingKey = 'ISO-2022-JP'; u2.TimeZoneSidKey = 'Asia/Tokyo'; u2.LocaleSidKey = 'ja_JP'; u2.LanguageLocaleKey = 'ja'; u2.ProfileId = p.id; u2.Job_Category__c = '销售推广'; u2.Province__c = '北京市'; u2.Post__c = '高级'; u2.Province_select__c = '北京市;河南省'; u2.UserRoleId = ur2.id; u3 = new User(); u3.LastName = '_サンブリッジ'; u3.FirstName = 'う'; u3.Alias = 'う'; u3.Email = 'olympusTest03@sunbridge.com'; u3.Username = 'olympusTest13@sunbridge.com'; u3.CommunityNickname = 'う3'; u3.IsActive = true; u3.EmailEncodingKey = 'ISO-2022-JP'; u3.TimeZoneSidKey = 'Asia/Tokyo'; u3.LocaleSidKey = 'ja_JP'; u3.LanguageLocaleKey = 'ja'; u3.ProfileId = p.id; u3.Job_Category__c = '销售服务'; u3.Province__c = '河南省'; u3.Post__c = '主管'; u3.Province_select__c = '北京市;河南省'; u3.UserRoleId = ur2.id; insert new List{u1, u2, u3}; // その後、UserRoleを変更 // http://blog.livedoor.jp/volvic_beer/archives/52285724.html // System.runAs(u1) { // update new List{u1, u2, u3}; // } } // 各种条件画面初始化测试 static testMethod void test1() { init(); User thisUser = [ select Id from User where Id = :UserInfo.getUserId() ]; System.runAs(thisUser) { Personal_Evaluation__c pe1 = new Personal_Evaluation__c(Name = '3.业绩管理', Api_Name__c = '3.业绩管理', IsActive__c = true); pe1.Report1_1__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report1_2__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report1_3__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report2_1__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report2_2__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report2_3__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report3_1__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report3_2__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report3_3__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report4_1__c = 'select sum(Fiscal_Workdays__c) wt, sum(OPD_target_number_year__c) num from User where Id = :userId'; pe1.Report4_3__c = 'Select sum(order_number__c) order, sum(Not_collect_money__c) NClct, sum(Not_received_endo_user_contract__c) NCtrc from Statu_Achievements__c where Owner_ID__c = :userId'; pe1.Report5_1__c = 'Select Sales_forecast_day_BA__c, Sales_forecast_YM_BA__c, Id from Opportunity where OwnerId = :userId and Sales_forecast_day_BA__c < :maxForcastDay'; pe1.Report1_1_Column__c = 'where GBIC__c=\'GI\' group by GBIC__c'; pe1.Report1_2_Column__c = 'where GBIC__c=\'BF\' group by GBIC__c'; pe1.Report1_3_Column__c = 'where GBIC__c=\'BF\' group by GBIC__c'; pe1.Report5_1_Column__c = 'Order By Sales_forecast_day_BA__c'; pe1.Tab_Index__c = 0; insert pe1; Personal_Evaluation__c pe2 = new Personal_Evaluation__c(Name = '99', Api_Name__c = '99', IsActive__c = true); pe2.Report1_1__c = 'Select Name, Report_Date__c From SMARM__c limit 1000'; pe2.Report1_2__c = 'Select Training_date__c, RecordType.Name from Training_test_Result__c limit 1000'; pe2.Report1_3__c = 'Select Received_call_day__c, LINK__c, prod__c from case where recordtypeId = \'01210000000QsYp\' limit 1000'; pe2.Tab_Index__c = 99; insert pe2; } System.runAs(u1) { PageReference page = new PageReference('/apex/PersonalEvaluation'); System.Test.setCurrentPage(page); PersonalEvaluationController controller = new PersonalEvaluationController(); //初始化 controller.init(); System.assertEquals(2, controller.userOpts.size()); System.assertEquals(u1.Id, controller.selectUser); // ログインユーザー page = new PageReference('/apex/PersonalEvaluation?tabIdx=0&user=' + UserInfo.getUserId()); System.Test.setCurrentPage(page); controller = new PersonalEvaluationController(); controller.init2(); // 条件追加されたため、件数が減ります page = new PageReference('/apex/PersonalEvaluation?province=' + EncodingUtil.urlEncode('河南省', 'UTF-8') + '&tab=0'); System.Test.setCurrentPage(page); PersonalEvaluationController controller2 = new PersonalEvaluationController(); //初始化 controller2.init(); System.assertEquals(1, controller2.userOpts.size()); System.assertEquals(u3.Id, controller2.selectUser); page = new PageReference('/apex/PersonalEvaluation?salesDpt=' + EncodingUtil.urlEncode('3.西北', 'UTF-8') + '&ocm=0'); System.Test.setCurrentPage(page); PersonalEvaluationController controller3 = new PersonalEvaluationController(); //初始化 controller3.init(); System.assertEquals(1, controller3.userOpts.size()); System.assertEquals(u3.Id, controller3.selectUser); /* page = new PageReference('/apex/PersonalEvaluation?text=S:Job_Category__c&cond=notequals&val=销售服务,支援'); System.Test.setCurrentPage(page); PersonalEvaluationController controller4 = new PersonalEvaluationController(); //初始化 controller4.init(); System.assertEquals(1, controller4.userOpts.size()); System.assertEquals(u2.Id, controller4.selectUser); */ page = new PageReference('/apex/PersonalEvaluation?user=' + u2.Id); System.Test.setCurrentPage(page); PersonalEvaluationController controller5 = new PersonalEvaluationController(); //初始化 controller5.init(); System.assertEquals(2, controller5.userOpts.size()); System.assertEquals(u2.Id, controller5.selectUser); controller5.getProvinceUrl(); controller5.getSearchJsUrl(); controller5.getUserUrl(); } } // RemoteAction方法测试 static testMethod void test2() { init(); User thisUser = [ select Id from User where Id = :UserInfo.getUserId() ]; System.runAs(thisUser) { Personal_Evaluation__c pe1 = new Personal_Evaluation__c(Name = '3.业绩管理', Api_Name__c = '3.业绩管理', IsActive__c = true); pe1.Report6_1_Sql__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report6_2_Sql__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report6_3_Sql__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report7_1_Sql__c = 'Select sum(order_number__c) order, sum(Not_collect_money__c) NClct, sum(Not_received_endo_user_contract__c) NCtrc from Statu_Achievements__c where Owner_ID__c = :userId'; pe1.Report7_3_Sql__c = 'Select Sales_forecast_day_BA__c, Sales_forecast_YM_BA__c, Id from Opportunity where OwnerId = :userId and Sales_forecast_day_BA__c < :maxForcastDay'; pe1.Report8_1_Sql__c = 'Select Sum(Amount_Without_Tax__c) wt, Sum(Number_of_PCL__c) num from Opportunity where OwnerId = :userId'; pe1.Report8_2_Sql__c = 'Select Sum(Amount_Without_Tax__c) wt, Sum(Number_of_PCL__c) num from Opportunity where OwnerId = :userId'; pe1.Report8_3_Sql__c = 'Select Sum(Amount_Without_Tax__c) wt, Sum(Number_of_PCL__c) num from Opportunity where OwnerId = :userId'; pe1.Report6_1_Sql2__c = 'where GBIC__c=\'GI\' group by GBIC__c'; pe1.Report6_2_Sql2__c = 'where GBIC__c=\'BF\' group by GBIC__c'; pe1.Report6_3_Sql2__c = 'where GBIC__c=\'BF\' group by GBIC__c'; pe1.Report7_3_Sql2__c = 'Order By Sales_forecast_day_BA__c'; pe1.Tab_Index__c = 0; insert pe1; Personal_Evaluation__c pe2 = new Personal_Evaluation__c(Name = '99', Api_Name__c = '99', IsActive__c = true); pe2.Report1_1__c = 'Select Name, Report_Date__c From SMARM__c limit 1000'; pe2.Report1_2__c = 'Select Training_date__c, RecordType.Name from Training_test_Result__c limit 1000'; pe2.Report1_3__c = 'Select Received_call_day__c, LINK__c, prod__c from case where recordtypeId = \'01210000000QsYp\' limit 1000'; pe2.Tab_Index__c = 99; insert pe2; } System.runAs(u1) { PageReference page = new PageReference('/apex/PersonalEvaluation'); System.Test.setCurrentPage(page); PersonalEvaluationController controller = new PersonalEvaluationController(); //初始化 controller.init(); PersonalEvaluationController.saveComment(u1.Id, '01210000000RDuV', 'subject', 'comment', null, '', 'rptName', 'rptNum'); PersonalEvaluationController.saveComment(u1.Id, '01210000000RDua', 'subject', 'comment', null, 'tabName', '', ''); PersonalEvaluationController.getPeSettings('3.业绩管理', u1.Id); PersonalEvaluationController.getJsonSAP('', u1.Id,'151P'); PersonalEvaluationController.getJsonOppSum('', u1.Id); PersonalEvaluationController.getJsonMBSA('', u1.Id); PersonalEvaluationController.getJsonForcast('', u1.Id); PersonalEvaluationController.getPersonalEvaluationSettingJson(); PersonalEvaluationController.getFirstTabIdx(); controller.getR1InfoList(); controller.getR2InfoList(); controller.getR3InfoList(); controller.getR1InfoColumnList(); controller.getR2InfoColumnList(); controller.getR3InfoColumnList(); } } static testMethod void testPersonalEvaluationCommentListController() { PageReference page = new PageReference('/apex/PersonalEvaluationCommentList?user=A&rpt=rpt'); System.Test.setCurrentPage(page); PersonalEvaluationCommentListController controller = new PersonalEvaluationCommentListController(); controller.getCommentList(); page = new PageReference('/apex/PersonalEvaluationCommentList?user=A&tab=tab'); System.Test.setCurrentPage(page); controller = new PersonalEvaluationCommentListController(); controller.getCommentList(); } // RemoteAction方法测试 upsertSmarm static testMethod void test3() { init(); User thisUser = [ select Id from User where Id = :UserInfo.getUserId() ]; System.runAs(thisUser) { Personal_Evaluation__c pe1 = new Personal_Evaluation__c(Name = '3.业绩管理', Api_Name__c = '3.业绩管理', IsActive__c = true); pe1.Report6_1_Sql__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report6_2_Sql__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report6_3_Sql__c = 'select GBIC__c GBIC, sum(Sales_amount_without_tax__c) wt, sum(Qty__c) num from ship__c'; pe1.Report7_1_Sql__c = 'Select sum(order_number__c) order, sum(Not_collect_money__c) NClct, sum(Not_received_endo_user_contract__c) NCtrc from Statu_Achievements__c where Owner_ID__c = :userId'; pe1.Report7_3_Sql__c = 'Select Sales_forecast_day_BA__c, Sales_forecast_YM_BA__c, Id from Opportunity__c where OwnerId = :userId and Sales_forecast_day_BA__c < :maxForcastDay'; pe1.Report8_1_Sql__c = 'Select Sum(Amount_Without_Tax__c) wt, Sum(Number_of_PCL__c) num from Opportunity where OwnerId = :userId'; pe1.Report8_2_Sql__c = 'Select Sum(Amount_Without_Tax__c) wt, Sum(Number_of_PCL__c) num from Opportunity where OwnerId = :userId'; pe1.Report8_3_Sql__c = 'Select Sum(Amount_Without_Tax__c) wt, Sum(Number_of_PCL__c) num from Opportunity where OwnerId = :userId'; pe1.Report6_1_Sql2__c = 'where GBIC__c=\'GI\' group by GBIC__c'; pe1.Report6_2_Sql2__c = 'where GBIC__c=\'BF\' group by GBIC__c'; pe1.Report6_3_Sql2__c = 'where GBIC__c=\'BF\' group by GBIC__c'; pe1.Report7_3_Sql2__c = 'Order By Sales_forecast_day_BA__c'; pe1.Tab_Index__c = 0; insert pe1; Personal_Evaluation__c pe2 = new Personal_Evaluation__c(Name = '99', Api_Name__c = '99', IsActive__c = true); pe2.Report1_1__c = 'Select Name, Report_Date__c From SMARM__c limit 1000'; pe2.Report1_2__c = 'Select Training_date__c, RecordType.Name from Training_test_Result__c limit 1000'; pe2.Report1_3__c = 'Select Received_call_day__c, LINK__c, prod__c from case where recordtypeId = \'01210000000QsYp\' limit 1000'; pe2.Tab_Index__c = 99; insert pe2; SMARM__c s = new SMARM__c( OwnerId = '00510000000fSYI', Status__c = 'Delete', Review_Practitioner__c = UserInfo.getUserId(), Review_Target__c = u1.id, Image1__c = 'img1', ReportName1__c = 'report1', Comment1__c = 'comment1', Image3__c = 'img3', ReportName3__c = 'report3', Comment3__c = 'comment3', Image4__c = 'img4', ReportName4__c = 'report4', Comment4__c = 'comment4' ); insert s; } System.runAs(u1) { PageReference page = new PageReference('/apex/PersonalEvaluation'); System.Test.setCurrentPage(page); PersonalEvaluationController controller = new PersonalEvaluationController(); //初始化 controller.init(); PersonalEvaluationController.upsertSmarm(u1.Id,'ReportName1__c','11111',true); //PersonalEvaluationController.saveComment(u1.Id, '01210000000RDuV', 'subject', 'comment', null, '', 'rptName', 'rptNum'); //PersonalEvaluationController.saveComment(u1.Id, '01210000000RDua', 'subject', 'comment', null, 'tabName', '', ''); //PersonalEvaluationController.getPeSettings('3.业绩管理', u1.Id); //PersonalEvaluationController.getJsonSAP('', u1.Id); //PersonalEvaluationController.getJsonSAPNameJ('', u1.Id,'151P'); //PersonalEvaluationController.getJsonOppSum('', u1.Id); //PersonalEvaluationController.getJsonMBSA('', u1.Id); //PersonalEvaluationController.getJsonForcast('', u1.Id); //PersonalEvaluationController.getPersonalEvaluationSettingJson(); //PersonalEvaluationController.getFirstTabIdx(); //controller.getR1InfoList(); //controller.getR2InfoList(); //controller.getR3InfoList(); //controller.getR1InfoColumnList(); //controller.getR2InfoColumnList(); //controller.getR3InfoColumnList(); } } }