datatracker/ietf/nomcom/tests.py
Emilio Jiménez e42b5015e7 Add navigation bar for nomcom pages.
Add views and template skel for nomcom pages.
Modify nomcom templates fixtures
Modify initialize functions for nomcom templates
Add view tests for nomcom pages.
Add navset styles for horizontal items
See #919
 - Legacy-Id: 5152
2012-12-25 11:39:36 +00:00

81 lines
3.1 KiB
Python

from django.test import TestCase
from django.db import IntegrityError
from django.core.urlresolvers import reverse
from ietf.utils.test_utils import login_testing_unauthorized
from ietf.nomcom.test_data import nomcom_test_data
from ietf.nomcom.models import NomineePosition, Position, Nominee, NomineePositionState
class NomcomTest(TestCase):
"""Tests to create a new nomcom"""
fixtures = ['names', 'nomcom_templates']
def check_url_status(self, url, status):
response = self.client.get(url)
self.assertEqual(response.status_code, status)
def setUp(self):
nomcom_test_data()
self.year = 2013
def test_home_view(self):
"""Verify home view"""
url = reverse('nomcom_index', kwargs={'year': self.year})
self.check_url_status(url, 200)
def test_nominate_view(self):
"""Verify nominate view"""
url = reverse('nomcom_nominate', kwargs={'year': self.year})
login_testing_unauthorized(self, 'kaligula', url)
self.check_url_status(url, 200)
def test_requirements_view(self):
"""Verify requirements view"""
url = reverse('nomcom_requirements', kwargs={'year': self.year})
self.check_url_status(url, 200)
def test_questionnaires_view(self):
"""Verify questionnaires view"""
url = reverse('nomcom_questionnaires', kwargs={'year': self.year})
self.check_url_status(url, 200)
def test_comments_view(self):
"""Verify comments view"""
url = reverse('nomcom_comments', kwargs={'year': self.year})
login_testing_unauthorized(self, 'plain', url)
self.check_url_status(url, 200)
class NomineePositionStateSaveTest(TestCase):
"""Tests for the NomineePosition save override method"""
fixtures = ['names', 'nomcom_templates']
def setUp(self):
nomcom_test_data()
self.nominee = Nominee.objects.get(email__address="plain@example.com")
def test_state_autoset(self):
"""Verify state is autoset correctly"""
position = Position.objects.get(name='APP')
nominee_position = NomineePosition.objects.create(position=position,
nominee=self.nominee)
self.assertEqual(nominee_position.state.slug, 'pending')
def test_state_specified(self):
"""Verify state if specified"""
position = Position.objects.get(name='INT')
nominee_position = NomineePosition.objects.create(position=position,
nominee=self.nominee,
state=NomineePositionState.objects.get(slug='accepted'))
self.assertEqual(nominee_position.state.slug, 'accepted')
def test_nomine_position_unique(self):
"""Verify nomine and position are unique together"""
position = Position.objects.get(name='OAM')
NomineePosition.objects.create(position=position,
nominee=self.nominee)
nominee_position = NomineePosition(position=position, nominee=self.nominee)
self.assertRaises(IntegrityError, nominee_position.save)