52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
import datetime, os, shutil
|
|
|
|
from django.conf import settings
|
|
from django.contrib.auth.models import User
|
|
from django.core.urlresolvers import reverse as urlreverse
|
|
import django.test
|
|
from StringIO import StringIO
|
|
from pyquery import PyQuery
|
|
|
|
from ietf.utils.test_utils import login_testing_unauthorized
|
|
from ietf.utils.test_runner import mail_outbox
|
|
from ietf.utils.test_data import make_test_data
|
|
|
|
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
|
from redesign.person.models import Person, Email
|
|
from redesign.group.models import Group, Role
|
|
|
|
class ManageDelegatesTestCase(django.test.TestCase):
|
|
fixtures = ['names']
|
|
|
|
def test_delete_delegate(self):
|
|
make_test_data()
|
|
|
|
url = urlreverse('manage_delegates', kwargs=dict(acronym="mars"))
|
|
login_testing_unauthorized(self, "secretary", url)
|
|
|
|
delegates = Role.objects.filter(name="delegate", group__acronym="mars")
|
|
self.assertTrue(len(delegates) > 0)
|
|
|
|
# get
|
|
r = self.client.get(url)
|
|
self.assertEquals(r.status_code, 200)
|
|
q = PyQuery(r.content)
|
|
self.assertEquals(len(q('form input[name=delete]')), len(delegates))
|
|
|
|
# delete
|
|
r = self.client.post(url,
|
|
dict(remove="1",
|
|
delete=[d.pk for d in delegates]))
|
|
self.assertEquals(r.status_code, 200)
|
|
q = PyQuery(r.content)
|
|
self.assertEquals(len(q('form input[name=delete]')), 0)
|
|
self.assertEquals(Role.objects.filter(name="delegate", group__acronym="mars").count(), 0)
|
|
|
|
|
|
|
|
|
|
|
|
if not settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
|
# the above tests only work with the new schema
|
|
del ManageDelegatesTestCase
|