Testing Django Models with FileField

Viewed 6602

I'm trying to make the transition to testing with Django. This is the particular model in question for testing:

class Media(models.Model):
    file = models.FileField(upload_to='upload',)
    thumbnail = models.ImageField(upload_to='upload', blank=True,)

    # ...

PART 1: How do I deal with these FileFields? (Particularly in the sense that I need to generate fake entries to test bits of code)

PART 2: Below is the testing code I've begun to write. Am I doing this correctly or should I be using a form of "mocking"?

from django.test import TestCase
from django.test.client import Client

from django.contrib.auth.models import User
from mediamanager.models import Media

class MediaManagerTestCase(TestCase):

    def setUp(self):
        self.fake_user = User.objects.create(username='fakeuser', is_staff=false)   
        self.fake_staff = User.objects.create(username='fakestaff', is_staff=true)    
        self.fake_admin = User.objects.create(username='fakeadmin', is_superuser=true)

        self.fake_media_image = Media.objects.create()  # Hmmm...
        self.fake_media_video = Media.objects.create()  # How do i do this...

    def testMediaCanEdit(self):
        perm = self.fake_media_image.can_edit(self.fake_user)
        self.assertEquals(perm, false)
3 Answers
Related