Or Condition Query Example
SELECT ID, NAME, CREATE_DATE, UPDATE_DATE
FROM USER
WHERE ( CREATE_DATE > SYSDATE-1 OR UPDATE_DATE > SYSDATE -1)
How to assert OR Condition Query with junit?
// this test is fail : createDate is "2022-07-28" || updateDate is null
String oneDaysAgo = "2022-07-27";
List<UserInfo> list = jpaRepository.findAllByCreateDateGreaterThanOrUpdateDateGreaterThan(oneDaysAgo,oneDaysAgo);
for (UserInfo vo : list) {
assertThat(vo.getCreatedDate(), is(greaterThan(oneDaysAgo)));
assertThat(vo.getUpdateDate(), is(greaterThan(oneDaysAgo)));
log.info(vo.toString());
}
Expect assert
( createDate > oneDaysAgo ) or ( updateDate > oneDaysAgo )
OneDaysAgo = "2022-07-27";
Create Date | Update Date | Expect Result | Actual Result |
---|---|---|---|
null or lessThan or equal | null or lessThan or equal | False | False |
"2022-07-28" | null or lessThan or equal | True | False |
null or lessThan or equal | "2022-07-28" | True | False |
"2022-07-28" | "2022-07-28" | True | True |