Skip to content

Instantly share code, notes, and snippets.

@katiayn
Created January 22, 2017 17:18
Show Gist options
  • Save katiayn/daf25a3bbb0ca7250e9380c911c6cbb7 to your computer and use it in GitHub Desktop.
Save katiayn/daf25a3bbb0ca7250e9380c911c6cbb7 to your computer and use it in GitHub Desktop.
import random
import string
from django.test import TestCase
import factory
from codekiwi.core.models import Employee
def generate_random_str(length=10):
return u''.join(random.choice(string.ascii_letters) for x in range(length))
class EmployeeFactory(factory.Factory):
class Meta:
model = Employee
last_name = factory.LazyAttribute(lambda t: generate_random_str())
first_name = factory.LazyAttribute(lambda t: generate_random_str())
job = factory.LazyAttribute(lambda t:generate_random_str(length=15))
class EmployeeTestCase(TestCase):
def test_employee(self):
# Generate a completely random saved employee instance
# shortcut for EmployeeFactory.create()
employee = EmployeeFactory()
# Test assertions
self.assertIsNotNone(employee.last_name)
self.assertIsNotNone(employee.first_name)
self.assertIsNotNone(employee.job)
def test_another_employee(self):
# Generate an employee with an explicit last_name
employee = EmployeeFactory(last_name='Nakamura')
# Test assertions
self.assertTrue(employee.last_name, 'Nakamura')
self.assertIsNotNone(employee.first_name)
self.assertIsNotNone(employee.job)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment