tests: build a base class to common setUp() operations

This commit is contained in:
Benjamin Dauvergne 2013-10-29 11:43:37 +01:00
parent 2be8998ab1
commit 33539b7e4e
1 changed files with 29 additions and 20 deletions

View File

@ -78,7 +78,7 @@ class MailingListCycle(TestCase):
self.assertEqual(mwo[self.users[j]], set(self.mls))
class UtilsTestCase(TestCase):
class BaseTestCase(TestCase):
def setUp(self):
from django.contrib.auth.models import User
from django.core.files.base import ContentFile
@ -86,22 +86,25 @@ class UtilsTestCase(TestCase):
AttachedFile)
import tempfile
self.email1 = 'email1@example.com'
self.email2 = 'email2@example.com'
self.user = User.objects.create(username='xxx', email=self.email1)
self.profile = DocbowProfile.objects.create(user=self.user,
personal_email=self.email2)
self.user2 = User.objects.create(username='yyy', email=self.email1)
self.profile2 = DocbowProfile.objects.create(user=self.user2,
personal_email=self.email2, is_guest=True)
self.users = []
for i in range(10):
self.users.append(
User.objects.create(username='user-%s' % i,
email='user-%s@example.com' % i))
DocbowProfile.objects.create(user=self.users[-1],
personal_email='personal-email-user-%s@example.com')
self.filetypes = []
for i in range(10):
self.filetypes.append(
FileType.objects.create(name='filetype-%s' % i))
self.documents = []
self.filetype = FileType.objects.create(name='filetype')
self.files = []
for i in range(10):
self.documents.append(
Document.objects.create(sender=self.user,
filetype=self.filetype))
self.documents[-1].to_user = [self.user, self.user2]
Document.objects.create(sender=self.users[(i+2) % 10],
filetype=self.filetypes[i]))
self.documents[-1].to_user = [self.users[i % 10],
self.users[(i+1) % 10]]
for j in range(2):
self.files.append(tempfile.NamedTemporaryFile())
attached_file = AttachedFile(name='file%s' % j,
@ -111,6 +114,12 @@ class UtilsTestCase(TestCase):
attached_file.save()
self.documents[-1].post()
class UtilsTestCase(BaseTestCase):
def setUp(self):
super(UtilsTestCase, self).setUp()
self.user1, self.user2 = self.users[:2]
self.user2.docbowprofile.is_guest = True
self.user2.docbowprofile.save()
def test_generate_filename(self):
from . import models
@ -119,8 +128,8 @@ class UtilsTestCase(TestCase):
def test_all_emails(self):
from . import models
self.assertEquals(set(models.all_emails(self.user)),
set((self.email1, self.email2)))
self.assertEquals(set(models.all_emails(self.user1)),
set((self.user1.email, self.user1.docbowprofile.personal_email)))
def test_document_manager(self):
from . import models
@ -132,16 +141,16 @@ class UtilsTestCase(TestCase):
self.assertEqual(document.filenames(),
'file0.pdf, file1.pdf')
self.assertEqual(set(document.user_human_to()),
set(['xxx', 'yyy']))
set(['user-0', 'user-1']))
self.assertEqual(document.group_human_to(), [])
self.assertEqual(set(document.human_to()),
set(['xxx', 'yyy']))
set(['user-0', 'user-1']))
self.assertIsNotNone(document.filename_links())
self.assertEquals(set(document.to()), set((self.user, self.user2)))
self.assertEquals(set(document.to()), set((self.user1, self.user2)))
self.assertEquals(dict(document.to_with_origin()),
{self.user: set([ '--direct--' ]), self.user2: set(['--direct--'])})
{self.user1: set([ '--direct--' ]), self.user2: set(['--direct--'])})
self.assertQuerysetEqual(document.delivered_to(),
[ self.user.pk, self.user2.pk], transform=lambda x: x.pk)
[ self.user1.pk, self.user2.pk], transform=lambda x: x.pk)
def test_is_guest(self):
from . import models