test: add comprehensive unit tests for all 8 string criterion modifiers

This commit is contained in:
2026-06-10 17:50:37 +02:00
parent 17c5fdb8a8
commit d17e11f2bc
+24
View File
@@ -38,10 +38,34 @@ class TestStringCriterion:
c = StringCriterion(value="zelda", modifier=Modifier.EQUALS) c = StringCriterion(value="zelda", modifier=Modifier.EQUALS)
assert c.to_q("name") == Q(name="zelda") assert c.to_q("name") == Q(name="zelda")
def test_not_equals(self):
c = StringCriterion(value="zelda", modifier=Modifier.NOT_EQUALS)
assert c.to_q("name") == ~Q(name="zelda")
def test_includes(self):
c = StringCriterion(value="zelda", modifier=Modifier.INCLUDES)
assert c.to_q("name") == Q(name__icontains="zelda")
def test_excludes(self):
c = StringCriterion(value="zelda", modifier=Modifier.EXCLUDES)
assert c.to_q("name") == ~Q(name__icontains="zelda")
def test_matches_regex(self):
c = StringCriterion(value="zelda", modifier=Modifier.MATCHES_REGEX)
assert c.to_q("name") == Q(name__regex="zelda")
def test_not_matches_regex(self):
c = StringCriterion(value="zelda", modifier=Modifier.NOT_MATCHES_REGEX)
assert c.to_q("name") == ~Q(name__regex="zelda")
def test_is_null(self): def test_is_null(self):
c = StringCriterion(value="", modifier=Modifier.IS_NULL) c = StringCriterion(value="", modifier=Modifier.IS_NULL)
assert c.to_q("name") == Q(name__isnull=True) assert c.to_q("name") == Q(name__isnull=True)
def test_not_null(self):
c = StringCriterion(value="", modifier=Modifier.NOT_NULL)
assert c.to_q("name") == Q(name__isnull=False)
class TestIntCriterion: class TestIntCriterion:
def test_between(self): def test_between(self):