|
|
- from hc.api.models import Check
- from hc.test import BaseTestCase
- from datetime import timedelta as td
- from django.utils import timezone
-
-
- class MyChecksTestCase(BaseTestCase):
-
- def setUp(self):
- super(MyChecksTestCase, self).setUp()
- self.check = Check(user=self.alice, name="Alice Was Here")
- self.check.save()
-
- def test_it_works(self):
- for email in ("[email protected]", "[email protected]"):
- self.client.login(username=email, password="password")
- r = self.client.get("/checks/")
- self.assertContains(r, "Alice Was Here", status_code=200)
-
- def test_it_shows_green_check(self):
- self.check.last_ping = timezone.now()
- self.check.status = "up"
- self.check.save()
-
- self.client.login(username="[email protected]", password="password")
- r = self.client.get("/checks/")
-
- # Desktop
- self.assertContains(r, "icon-up")
-
- # Mobile
- self.assertContains(r, "label-success")
-
- def test_it_shows_red_check(self):
- self.check.last_ping = timezone.now() - td(days=3)
- self.check.status = "up"
- self.check.save()
-
- self.client.login(username="[email protected]", password="password")
- r = self.client.get("/checks/")
-
- # Desktop
- self.assertContains(r, "icon-down")
-
- # Mobile
- self.assertContains(r, "label-danger")
-
- def test_it_shows_amber_check(self):
- self.check.last_ping = timezone.now() - td(days=1, minutes=30)
- self.check.status = "up"
- self.check.save()
-
- self.client.login(username="[email protected]", password="password")
- r = self.client.get("/checks/")
-
- # Desktop
- self.assertContains(r, "icon-grace")
-
- # Mobile
- self.assertContains(r, "label-warning")
-
- def test_it_hides_add_check_button(self):
- self.profile.check_limit = 0
- self.profile.save()
-
- self.client.login(username="[email protected]", password="password")
- r = self.client.get("/checks/")
- self.assertContains(r, "Check limit reached", status_code=200)
-
- def test_it_saves_sort_field(self):
- self.client.login(username="[email protected]", password="password")
- self.client.get("/checks/?sort=name")
-
- self.profile.refresh_from_db()
- self.assertEqual(self.profile.sort, "name")
-
- def test_it_ignores_bad_sort_value(self):
- self.client.login(username="[email protected]", password="password")
- self.client.get("/checks/?sort=invalid")
-
- self.profile.refresh_from_db()
- self.assertEqual(self.profile.sort, "created")
|