From 421a93e112bff4ab9b1d19ca89bfdb46d9bf49cb Mon Sep 17 00:00:00 2001 From: Cal Date: Wed, 15 May 2024 13:03:41 -0600 Subject: [PATCH] add tests for manager search methods --- evennia/objects/tests.py | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/evennia/objects/tests.py b/evennia/objects/tests.py index df00189d50..ddcc78944f 100644 --- a/evennia/objects/tests.py +++ b/evennia/objects/tests.py @@ -247,6 +247,52 @@ class TestObjectManager(BaseEvenniaTest): ) self.assertEqual(list(query), [self.char1]) + def test_get_objs_with_key_or_alias(self): + query = ObjectDB.objects.get_objs_with_key_or_alias("Char") + self.assertEqual(list(query), [self.char1]) + self.assertEqual(list(query), [self.char1]) + query = ObjectDB.objects.get_objs_with_key_or_alias( + "Char", typeclasses="evennia.objects.objects.DefaultObject" + ) + self.assertFalse(query) + query = ObjectDB.objects.get_objs_with_key_or_alias( + "Char", candidates=[self.char1, self.char2] + ) + self.assertEqual(list(query), [self.char1]) + + self.char1.aliases.add("test alias") + query = ObjectDB.objects.get_objs_with_key_or_alias("test alias") + self.assertEqual(list(query), [self.char1]) + + query = ObjectDB.objects.get_objs_with_key_or_alias("") + self.assertFalse(query) + query = ObjectDB.objects.get_objs_with_key_or_alias("", exact=False) + self.assertEqual(list(query), list(ObjectDB.objects.all())) + + query = ObjectDB.objects.get_objs_with_key_or_alias( + "", exact=False, typeclasses="evennia.objects.objects.DefaultCharacter" + ) + self.assertEqual(list(query), [self.char1, self.char2]) + + def test_search_object(self): + self.char1.tags.add("test tag") + self.obj1.tags.add("test tag") + + query = ObjectDB.objects.search_object( + "", exact=False, tags=[('test tag', None)] + ) + self.assertEqual(list(query), [self.obj1, self.char1]) + + query = ObjectDB.objects.search_object( + "Char", tags=[('invalid tag', None)] + ) + self.assertFalse(query) + + query = ObjectDB.objects.search_object( + "", exact=False, tags=[('test tag', None)], typeclass="evennia.objects.objects.DefaultCharacter" + ) + self.assertEqual(list(query), [self.char1]) + def test_get_objs_with_attr(self): self.obj1.db.testattr = "testval1" query = ObjectDB.objects.get_objs_with_attr("testattr")