CE-882 Add TRUE and FALSE operators

This commit is contained in:
2024-04-25 12:01:08 -05:00
parent c6e0389338
commit ef2b08899b
7 changed files with 75 additions and 4 deletions

View File

@ -626,6 +626,8 @@ public class AbstractMongoDBAction
case IS_NOT_BLANK -> Filters.nor(filterIsBlank(fieldBackendName));
case BETWEEN -> filterBetween(fieldBackendName, values);
case NOT_BETWEEN -> Filters.nor(filterBetween(fieldBackendName, values));
case TRUE -> Filters.or(Filters.eq(fieldBackendName, "true"), Filters.ne(fieldBackendName, "true"), Filters.eq(fieldBackendName, null)); // todo test!!
case FALSE -> Filters.and(Filters.eq(fieldBackendName, "true"), Filters.ne(fieldBackendName, "true"), Filters.eq(fieldBackendName, null));
});
}

View File

@ -213,6 +213,33 @@ class MongoDBQueryActionTest extends BaseTest
}
/*******************************************************************************
**
*******************************************************************************/
@Test
public void testTrueQuery() throws QException
{
QueryInput queryInput = initQueryRequest();
queryInput.setFilter(new QQueryFilter(new QFilterCriteria("email", QCriteriaOperator.TRUE)));
QueryOutput queryOutput = new MongoDBQueryAction().execute(queryInput);
assertEquals(5, queryOutput.getRecords().size(), "'TRUE' query should find all rows");
}
/*******************************************************************************
**
*******************************************************************************/
@Test
public void testFalseQuery() throws QException
{
QueryInput queryInput = initQueryRequest();
queryInput.setFilter(new QQueryFilter(new QFilterCriteria("email", QCriteriaOperator.FALSE)));
QueryOutput queryOutput = new MongoDBQueryAction().execute(queryInput);
assertEquals(0, queryOutput.getRecords().size(), "'FALSE' query should find no rows");
}
/*******************************************************************************
**