Source code for oioioi.status.tests

from django.urls import reverse

from oioioi.base.tests import TestCase
from oioioi.contests.models import Contest
from oioioi.status.registry import status_registry


[docs]def _coding_status(request, response): response['coding_status'] = 'testing an app' return response
[docs]class TestContestStatus(TestCase):
[docs] fixtures = ['test_users', 'test_contest']
[docs] def setUp(self): status_registry.register(_coding_status)
[docs] def tearDown(self): status_registry.unregister(_coding_status)
[docs] def test_generating_status(self): contest = Contest.objects.get() url = reverse('get_status', kwargs={'contest_id': contest.id}) self.assertTrue(self.client.login(username='test_user')) response = self.client.get(url) self.assertContains(response, url) self.assertContains(response, contest.id) self.assertContains(response, 'test_user') self.assertContains(response, 'testing an app') data = response.json() self.assertEqual(data['is_superuser'], False) self.assertTrue(self.client.login(username='test_admin')) response = self.client.get(url) self.assertContains(response, 'test_admin') self.assertContains(response, 'testing an app') data = response.json() self.assertEqual(data['is_superuser'], True)
[docs] def test_initial(self): contest = Contest.objects.get() url = reverse('contest_dashboard', kwargs={'contest_id': contest.id}) self.assertTrue(self.client.login(username='test_user')) response = self.client.get(url) self.assertContains(response, url) self.assertContains(response, contest.id) self.assertContains(response, 'test_user') self.assertContains(response, 'testing an app') self.assertContains(response, 'initialStatus')
[docs]class TestNoContestStatus(TestCase):
[docs] fixtures = ['test_users']
[docs] def setUp(self): status_registry.register(_coding_status)
[docs] def tearDown(self): status_registry.unregister(_coding_status)
[docs] def test_generating_status(self): url = reverse('get_status') self.assertTrue(self.client.login(username='test_user')) response = self.client.get(url) self.assertContains(response, url) self.assertNotContains(response, 'contest_id') self.assertContains(response, 'test_user') self.assertContains(response, 'testing an app')