diff --git a/app/tests/__init__.py b/app/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/app/tests/classes.py b/app/tests/classes.py new file mode 100644 index 00000000..3f89e63e --- /dev/null +++ b/app/tests/classes.py @@ -0,0 +1,48 @@ +from django.test import TestCase +from django.contrib.auth.models import User, Group +from app.models import Project +from app.boot import boot + +class BootTestCase(TestCase): + ''' + This class provides optional default mock data as well as + proper boot initialization code. All tests for the app + module should derive from this class instead of TestCase. + + We don't use fixtures because we have signal initialization login + for some models, which doesn't play well with them, and this: http://blog.namis.me/2012/04/21/burn-your-fixtures/ + ''' + @classmethod + def setUpClass(cls): + def setupUsers(): + User.objects.create_superuser(username='testsuperuser', + email='superuser@test.com', + password='test1234') + User.objects.create_user(username='testuser', + email='user@test.com', + password='test1234') + User.objects.create_user(username='testuser2', + email='user2@test.com', + password='test1234') + + def setupProjects(): + Project.objects.create( + owner=User.objects.get(username="testsuperuser"), + name="Super User Test Project", + description="This is a test project" + ) + Project.objects.create( + owner=User.objects.get(username="testuser"), + name="User Test Project", + description="This is a test project" + ) + Project.objects.create( + owner=User.objects.get(username="testuser2"), + name="User 2 Test Project", + description="This is a test project" + ) + + super(BootTestCase, cls).setUpClass() + boot() + setupUsers() + setupProjects() diff --git a/app/api/tests.py b/app/tests/test_api.py similarity index 98% rename from app/api/tests.py rename to app/tests/test_api.py index 549ea2d2..542aa781 100644 --- a/app/api/tests.py +++ b/app/tests/test_api.py @@ -1,4 +1,4 @@ -from app.tests import BootTestCase +from .classes import BootTestCase from rest_framework.test import APIClient from rest_framework import status diff --git a/app/tests.py b/app/tests/test_app.py similarity index 68% rename from app/tests.py rename to app/tests/test_app.py index 5583fbea..cc4fc3ae 100644 --- a/app/tests.py +++ b/app/tests/test_app.py @@ -1,61 +1,11 @@ -from django.test import TestCase - from django.contrib.auth.models import User, Group from django.contrib import messages from django.test import Client -from .models import Project, Task -from .boot import boot - -import api.tests - -class BootTestCase(TestCase): - ''' - This class provides optional default mock data as well as - proper boot initialization code. All tests for the app - module should derive from this class instead of TestCase. - - We don't use fixtures because we have signal initialization login - for some models, which doesn't play well with them, and this: http://blog.namis.me/2012/04/21/burn-your-fixtures/ - ''' - @classmethod - def setUpClass(cls): - def setupUsers(): - User.objects.create_superuser(username='testsuperuser', - email='superuser@test.com', - password='test1234') - User.objects.create_user(username='testuser', - email='user@test.com', - password='test1234') - User.objects.create_user(username='testuser2', - email='user2@test.com', - password='test1234') - - def setupProjects(): - Project.objects.create( - owner=User.objects.get(username="testsuperuser"), - name="Super User Test Project", - description="This is a test project" - ) - Project.objects.create( - owner=User.objects.get(username="testuser"), - name="User Test Project", - description="This is a test project" - ) - Project.objects.create( - owner=User.objects.get(username="testuser2"), - name="User 2 Test Project", - description="This is a test project" - ) - - super(BootTestCase, cls).setUpClass() - boot() - setupUsers() - setupProjects() - +from app.models import Project, Task +from .classes import BootTestCase class TestApp(BootTestCase): - fixtures = ['test_processingnodes', ] def setUp(self):