Merge pull request #32 from wimvelzeboer/feature/AddContainsAndLikeToCriteria

Add LIKE and Contains condition to Criteria
This commit is contained in:
William Velzeboer
2022-02-25 11:16:44 +00:00
committed by GitHub
3 changed files with 118 additions and 29 deletions
@@ -79,6 +79,30 @@ private with sharing class fflib_CriteriaTest
);
}
@IsTest
static void itShouldEvaluateAnContainsCondition()
{
fflib_Criteria criteria = new fflib_Criteria()
.contains(Account.Name, A_STRING);
System.assert(criteria.evaluate(new Account(Name = SAME_STRING)));
System.assert(criteria.evaluate(new Account(Name = 'prefix ' + SAME_STRING)));
System.assert(criteria.evaluate(new Account(Name = SAME_STRING + ' suffix')));
System.assert(criteria.evaluate(new Account(Name = 'prefix ' + SAME_STRING + ' suffix')));
System.assertEquals('Name LIKE \'%' + A_STRING + '%\'', criteria.toSOQL());
}
@IsTest
static void itShouldEvaluateAnContainsCondition_nullField()
{
fflib_Criteria criteria = new fflib_Criteria()
.contains(Account.Name, null);
System.assert(false == criteria.evaluate(new Account(Name = SAME_STRING)));
System.assert(false == criteria.evaluate(new Account(Name = 'prefix ' + SAME_STRING)));
System.assert(false == criteria.evaluate(new Account(Name = SAME_STRING + ' suffix')));
System.assert(false == criteria.evaluate(new Account(Name = 'prefix ' + SAME_STRING + ' suffix')));
System.assertEquals('Name LIKE \'%null%\'', criteria.toSOQL());
}
@IsTest
static void itShouldEvaluateAnEqualsToCondition()
{