@isTest private class AgencyReportHeaderTriggerTest{ public static Account account1 = new Account(); public static Account account2 = new Account(); public static Contact contact1 = new Contact(); public static Contact contact2 = new Contact(); public static User user = new User(); public static Agency_Hospital_Link__c agency_hospital_link = new Agency_Hospital_Link__c(); public static Agency_Contact__c agency_contact = new Agency_Contact__c(); public static ProductTypes__c product_types = new ProductTypes__c(); public static Agency_Opportunity__c agency_opportunity = new Agency_Opportunity__c(); public static OlympusCalendar__c olympus_calendar = new OlympusCalendar__c(); public static String report_id; public static String report_header_id; /* 病院。コンタクト、ユーザー、カレンダーなどの初期データ作る */ static testMethod void test_beforeExecute(){ // 取引先 account1.Name = 'test1医院'; account1.RecordTypeId = '01210000000QemG'; insert account1; account2.Name = 'test1经销商'; account2.RecordTypeId = '01210000000Qem1'; insert account2; // 取引先責任者 contact1.AccountId = account1.Id; contact1.FirstName = '責任者'; contact1.LastName = 'test1医院'; insert contact1; contact2.AccountId = account2.Id; contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; insert contact2; // ユーザー Profile p = [select Id from Profile where Name = '901_经销商活动系统']; user.ProfileId = p.Id; user.ContactId = contact2.Id; user.FirstName = 'ユーザー'; user.LastName = 'テスト'; user.Email = 'test_user@example.com'; user.emailencodingkey='UTF-8'; user.languagelocalekey='zh_CN'; user.localesidkey='ja_JP'; user.timezonesidkey='Asia/Shanghai'; user.Username = 'test_user@example.com'; user.Alias = 'テユ'; user.CommunityNickname = 'テストユーザー'; insert user; olympus_calendar.Date__c = Date.valueOf('2017-04-10'); olympus_calendar.OwnerId = user.Id; insert olympus_calendar; System.runAs(user) { // 週報ヘッダー作成 String name = 'テスト ユーザー'; String s_date = '2017-04-10'; String s_agency = contact2.Id; String head_key = contact2.Id + ':20170410'; report_header_id = WeeklyReportCmp.createReportHeader(name, s_date, s_agency, head_key); Agency_Report_Header__c data = [select Id, Name, Agency__c,Owner_Agency_ID__c,Agency_ID__c,Week__c, Agency_Person2__c, HeaderInputKey__c, OlympusDate__r.Date__c from Agency_Report_Header__c where HeaderInputKey__c = :head_key]; System.assertEquals(data.Agency__c , data.Owner_Agency_ID__c); System.assertEquals(data.Agency_ID__c , String.valueOf(data.Owner_Agency_ID__c).substring(0,15)); } } @isTest static void test_shareAgency_Report_Header_ToRole() { MergeAgencyActivityBatchTest.makeNormalData(true); // assert List tList = [SELECT Name, Agency__c FROM Agency_Report_Header__c ORDER BY Id LIMIT 2]; System.assertEquals(2, tList.size()); System.assertEquals(MergeAgencyActivityBatchTest.agency1.Id, tList[0].Agency__c); System.assertEquals(MergeAgencyActivityBatchTest.agency1.Id, tList[1].Agency__c); List tsList = [SELECT Id FROM Agency_Report_Header__share WHERE ParentId = :tList AND RowCause = 'Manual']; System.assertEquals(2, tsList.size()); Test.startTest(); Delete tList[0]; Test.stopTest(); tsList = [SELECT Id FROM Agency_Report_Header__share WHERE ParentId = :tList AND RowCause = 'Manual']; System.assertEquals(1, tsList.size()); UnDelete tList[0]; tsList = [SELECT Id FROM Agency_Report_Header__share WHERE ParentId = :tList AND RowCause = 'Manual']; System.assertEquals(2, tsList.size()); } }