Coverage for CIResults/tests/test_template_filters.py: 100%
34 statements
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-19 09:20 +0000
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-19 09:20 +0000
1from django.test import TestCase
2from django.utils import timezone
3from datetime import timedelta
4from unittest.mock import patch
6from CIResults.templatetags.runconfig_diff import show_test
7from CIResults.templatetags.helpers import howlongago, csl
9from CIResults.models import Test, RunConfig, Machine
12class ShowTestTests(TestCase):
13 def test_new_test(self):
14 test = Test(name="test", first_runconfig=None, vetted_on=None)
15 self.assertEqual(show_test(test), "{test} (NEW)")
17 def test_suppressed_test(self):
18 test = Test(name="test", first_runconfig=RunConfig(), vetted_on=None)
19 self.assertEqual(show_test(test), "{test}")
21 def test_active_test(self):
22 test = Test(name="test", first_runconfig=RunConfig(), vetted_on=timezone.now())
23 self.assertEqual(show_test(test), "test")
26class HowLongAgoTests(TestCase):
27 def test_None(self):
28 self.assertEqual(howlongago(None), "Never")
30 @patch('django.utils.timezone.now', return_value=timezone.now())
31 def test_valid_datetime(self, now_mock):
32 date = now_mock.return_value - timedelta(days=1, hours=3, seconds=2)
33 self.assertEqual(howlongago(date), "1 day, 3 hours ago")
36class CslTests(TestCase):
37 def test_empty_list(self):
38 self.assertEqual(csl([], "machine:CIResults/basic/machine.html"), "")
40 def test_list_of_machines(self):
41 machines = []
42 for m in range(3):
43 machines.append(Machine.objects.create(name='machine{}'.format(m), public=True))
45 result = csl(machines, "machine:CIResults/basic/machine.html")
47 for m in range(3):
48 self.assertIn('machine{}'.format(m), result)