From 4799e0beb1637c1c15e1bd596a6c73825f0b2251 Mon Sep 17 00:00:00 2001 From: Aaron Kable Date: Fri, 9 Jan 2026 10:40:00 +0800 Subject: [PATCH] more tests --- .../framework/tests/test_datatables.py | 107 +++++++++++++++++- 1 file changed, 105 insertions(+), 2 deletions(-) diff --git a/allianceauth/framework/tests/test_datatables.py b/allianceauth/framework/tests/test_datatables.py index ce641a43..4a61d2e5 100644 --- a/allianceauth/framework/tests/test_datatables.py +++ b/allianceauth/framework/tests/test_datatables.py @@ -74,10 +74,18 @@ class TestDataTables(TestCase): cls.user.save() EveCharacter.objects.all().delete() - for i in range(1,21): + for i in range(1,16): EveCharacter.objects.create( character_id=1000+i, - character_name=f"{1000+i} - Test Character", + character_name=f"{1000+i} - Test Character - {1000+i}", + corporation_id=2000+i, + corporation_name=f"{2000+i} - Test Corporation", + ) + + for i in range(16,21): + EveCharacter.objects.create( + character_id=1000+i, + character_name=f"{1000+i} - Test Character - {1000+i}", corporation_id=2000+i, corporation_name=f"{2000+i} - Test Corporation", alliance_id=3000+i, @@ -158,9 +166,104 @@ class TestDataTables(TestCase): def test_view_col_1_search_empty(self): self.get_params["columns[1][search][value]"] = "zzz" + self.client.force_login(self.user) request = self.factory.get('/fake-url/', data=self.get_params) response = TestView() response.setup(request) data = json.loads(response.get(request).content)["data"] self.assertEqual(len(data), 0) + + def test_view_cc_3_search_empty(self): + self.get_params["columns[3][columnControl][search][value]"] = "" + self.get_params["columns[3][columnControl][search][logic]"] = "empty" + self.get_params["columns[3][columnControl][search][type]"] = "text" + self.get_params["length"] = "20" + + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 15) + + def test_view_cc_3_search_not_empty(self): + self.get_params["columns[3][columnControl][search][value]"] = "" + self.get_params["columns[3][columnControl][search][logic]"] = "notEmpty" + self.get_params["columns[3][columnControl][search][type]"] = "text" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 5) + + def test_view_cc_1_search_ends_with(self): + self.get_params["columns[1][columnControl][search][value]"] = "9" + self.get_params["columns[1][columnControl][search][logic]"] = "ends" + self.get_params["columns[1][columnControl][search][type]"] = "text" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 2) + + def test_view_cc_1_search_starts_with(self): + self.get_params["columns[1][columnControl][search][value]"] = "1009" + self.get_params["columns[1][columnControl][search][logic]"] = "starts" + self.get_params["columns[1][columnControl][search][type]"] = "text" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 1) + + def test_view_cc_1_search_not_contains(self): + self.get_params["columns[1][columnControl][search][value]"] = "100" + self.get_params["columns[1][columnControl][search][logic]"] = "notContains" + self.get_params["columns[1][columnControl][search][type]"] = "text" + self.get_params["length"] = "20" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 11) + + def test_view_cc_1_search_contains(self): + self.get_params["columns[1][columnControl][search][value]"] = "100" + self.get_params["columns[1][columnControl][search][logic]"] = "contains" + self.get_params["columns[1][columnControl][search][type]"] = "text" + self.get_params["length"] = "20" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 9) + + def test_view_cc_1_search_equal(self): + self.get_params["columns[1][columnControl][search][value]"] = "1001 - Test Character - 1001" + self.get_params["columns[1][columnControl][search][logic]"] = "equal" + self.get_params["columns[1][columnControl][search][type]"] = "text" + self.get_params["length"] = "20" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 1) + + def test_view_cc_1_search_not_equal(self): + self.get_params["columns[1][columnControl][search][value]"] = "1001 - Test Character - 1001" + self.get_params["columns[1][columnControl][search][logic]"] = "notEqual" + self.get_params["columns[1][columnControl][search][type]"] = "text" + self.get_params["length"] = "20" + self.client.force_login(self.user) + request = self.factory.get('/fake-url/', data=self.get_params) + response = TestView() + response.setup(request) + data = json.loads(response.get(request).content)["data"] + self.assertEqual(len(data), 19)