TF-3621 Fix search return wrong result if searching with option "Doesn't have"

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-04-08 14:53:21 +07:00
committed by Dat H. Pham
parent 821a1ce951
commit 2236c0eb01
2 changed files with 21 additions and 4 deletions
@@ -164,6 +164,26 @@ void main() {
expect(logicOperator.operator, Operator.AND);
expect(logicOperator.conditions.length, greaterThan(1));
});
test('SHOULD wrap a simple EmailFilterCondition inside a NOT LogicFilterOperator when notKeyword is given', () {
// Arrange
final filter = SearchEmailFilter(
notKeyword: {'hello'},
);
// Act
final result = filter.mappingToEmailFilterCondition();
// Assert
expect(result, isA<LogicFilterOperator>());
final logicFilter = result as LogicFilterOperator;
expect(result.conditions.isNotEmpty, isTrue);
expect(logicFilter.operator, equals(Operator.NOT));
final emailCondition = result.conditions.first as EmailFilterCondition;
expect(emailCondition.text, 'hello');
expect(emailCondition.notKeyword, isNull);
});
});
});
}