@isTest
|
private class SmarmSetUserCountTriggerTest {
|
|
static testMethod void testTrigger() {
|
Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin];
|
// ユーザー作成
|
User user = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id, Last_Smarm_Date__c = null, Smarm_Count__c = 0);
|
insert user;
|
|
SMARM__c sm1 = new SMARM__c();
|
sm1.OwnerId = user.Id;
|
sm1.CurrencyIsoCode = 'CNY';
|
sm1.Report_Date__c = Date.today().addDays(-1);
|
sm1.Review_Target__c = user.Id;
|
insert sm1;
|
|
User[] users1 = [select Id,Last_Smarm_Date__c,Smarm_Count__c from User where Id = :user.Id];
|
System.assertEquals(Date.today().addDays(-1), users1[0].Last_Smarm_Date__c);
|
System.assertEquals(1, users1[0].Smarm_Count__c);
|
|
SMARM__c sm2 = new SMARM__c();
|
sm2.OwnerId = user.Id;
|
sm2.CurrencyIsoCode = 'CNY';
|
sm2.Report_Date__c = Date.today();
|
sm2.Review_Target__c = user.Id;
|
insert sm2;
|
|
User[] users2 = [select Id,Last_Smarm_Date__c,Smarm_Count__c from User where Id = :user.Id];
|
System.assertEquals(Date.today(), users2[0].Last_Smarm_Date__c);
|
System.assertEquals(2, users2[0].Smarm_Count__c);
|
|
SMARM__c sm3 = new SMARM__c();
|
sm3.OwnerId = user.Id;
|
sm3.CurrencyIsoCode = 'CNY';
|
sm3.Report_Date__c = Date.today().addDays(1);
|
sm3.Review_Target__c = user.Id;
|
insert sm3;
|
|
User[] users3 = [select Id,Last_Smarm_Date__c,Smarm_Count__c from User where Id = :user.Id];
|
System.assertEquals(Date.today().addDays(1), users3[0].Last_Smarm_Date__c);
|
System.assertEquals(3, users3[0].Smarm_Count__c);
|
|
delete new SMARM__c[] {sm2,sm3};
|
|
User[] users4 = [select Id,Last_Smarm_Date__c,Smarm_Count__c from User where Id = :user.Id];
|
System.assertEquals(Date.today().addDays(-1), users4[0].Last_Smarm_Date__c);
|
System.assertEquals(1, users4[0].Smarm_Count__c);
|
|
delete sm1;
|
|
User[] users5 = [select Id,Last_Smarm_Date__c,Smarm_Count__c from User where Id = :user.Id];
|
System.assertEquals(null, users5[0].Last_Smarm_Date__c);
|
System.assertEquals(0, users5[0].Smarm_Count__c);
|
}
|
}
|