You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

43 lines
1.6 KiB

from hc.test import BaseTestCase
from hc.api.models import Check
class BadgesTestCase(BaseTestCase):
def setUp(self):
super(BadgesTestCase, self).setUp()
self.url = "/projects/%s/badges/" % self.project.code
def test_it_shows_badges(self):
Check.objects.create(project=self.project, tags="foo a-B_1 baz@")
Check.objects.create(project=self.bobs_project, tags="bobs-tag")
self.client.login(username="[email protected]", password="password")
r = self.client.get(self.url)
self.assertContains(r, "foo.svg")
self.assertContains(r, "a-B_1.svg")
# Expect badge URLs only for tags that match \w+
self.assertNotContains(r, "[email protected]")
# Expect only Alice's tags
self.assertNotContains(r, "bobs-tag.svg")
def test_it_uses_badge_key(self):
Check.objects.create(project=self.project, tags="foo bar")
Check.objects.create(project=self.bobs_project, tags="bobs-tag")
self.project.badge_key = "alices-badge-key"
self.project.save()
self.client.login(username="[email protected]", password="password")
r = self.client.get(self.url)
self.assertContains(r, "badge/alices-badge-key/")
self.assertContains(r, "badge/alices-badge-key/")
def test_it_handles_special_characers_in_tags(self):
Check.objects.create(project=self.project, tags="db@dc1")
self.client.login(username="[email protected]", password="password")
r = self.client.get(self.url)
self.assertContains(r, "db%2540dc1.svg")