github.com/developerforce/trailhead-code-samples/blob/master/VerifyDate.cls
출처
public class VerifyDate {
//method to handle potential checks against two dates
public static Date CheckDates(Date date1, Date date2) {
//if date2 is within the next 30 days of date1, use date2. Otherwise use the end of the month
if(DateWithin30Days(date1,date2)) {
return date2;
} else {
return SetEndOfMonthDate(date1);
}
}
//method to check if date2 is within the next 30 days of date1
private static Boolean DateWithin30Days(Date date1, Date date2) {
//check for date2 being in the past
if( date2 < date1) { return false; }
//check that date2 is within (>=) 30 days of date1
Date date30Days = date1.addDays(30); //create a date 30 days away from date1
if( date2 >= date30Days ) { return false; }
else { return true; }
}
//method to return the end of the month of a given date
private static Date SetEndOfMonthDate(Date date1) {
Integer totalDays = Date.daysInMonth(date1.year(), date1.month());
Date lastDay = Date.newInstance(date1.year(), date1.month(), totalDays);
return lastDay;
}
}
이 코드 확인하는 테스트 코드 짬
@isTest
public class TestVerifyDate {
@isTest static void checkFirst() {
Date date1 = date.today();
Date date2 = date.today().addDays(20);
Date flag = VerifyDate.CheckDates(date1, date2);
System.assertEquals(date2, flag);
}
@isTest static void checkSecond() {
Date date1 = date.today();
Date date2 = date.today().addDays(50);
Date flag = VerifyDate.CheckDates(date1, date2);
Date myDate = date.newInstance(2021, 3, 31);
System.assertEquals(myDate, flag);
}
}
메소드명 대충 썼는데 통과됐다;;;
그냥 코드에서 분기마다 테스트해볼 수 있는 거 다 해보면 됨...
'Salesforce > Trailhead' 카테고리의 다른 글
[Developer Beginner] Apex Testing | Create Test Data for Apex Tests (0) | 2021.03.22 |
---|---|
[Developer Beginner] Apex Testing | Test Apex Triggers (0) | 2021.03.22 |
[Developer Beginner] Apex Triggers | Bulk Apex Triggers (0) | 2021.03.22 |
[Developer Beginner] Apex Triggers | Get Started with Apex Triggers (0) | 2021.03.22 |
[Developer Beginner] Apex Basics & Database | Write SOQL Queries (0) | 2021.03.19 |
댓글