summaryrefslogtreecommitdiff
path: root/parts/django/tests/regressiontests/managers_regress
diff options
context:
space:
mode:
Diffstat (limited to 'parts/django/tests/regressiontests/managers_regress')
-rw-r--r--parts/django/tests/regressiontests/managers_regress/__init__.py0
-rw-r--r--parts/django/tests/regressiontests/managers_regress/models.py100
-rw-r--r--parts/django/tests/regressiontests/managers_regress/tests.py54
3 files changed, 0 insertions, 154 deletions
diff --git a/parts/django/tests/regressiontests/managers_regress/__init__.py b/parts/django/tests/regressiontests/managers_regress/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/parts/django/tests/regressiontests/managers_regress/__init__.py
+++ /dev/null
diff --git a/parts/django/tests/regressiontests/managers_regress/models.py b/parts/django/tests/regressiontests/managers_regress/models.py
deleted file mode 100644
index 1e1b1c9..0000000
--- a/parts/django/tests/regressiontests/managers_regress/models.py
+++ /dev/null
@@ -1,100 +0,0 @@
-"""
-Various edge-cases for model managers.
-"""
-
-from django.db import models
-
-class OnlyFred(models.Manager):
- def get_query_set(self):
- return super(OnlyFred, self).get_query_set().filter(name='fred')
-
-class OnlyBarney(models.Manager):
- def get_query_set(self):
- return super(OnlyBarney, self).get_query_set().filter(name='barney')
-
-class Value42(models.Manager):
- def get_query_set(self):
- return super(Value42, self).get_query_set().filter(value=42)
-
-class AbstractBase1(models.Model):
- name = models.CharField(max_length=50)
-
- class Meta:
- abstract = True
-
- # Custom managers
- manager1 = OnlyFred()
- manager2 = OnlyBarney()
- objects = models.Manager()
-
-class AbstractBase2(models.Model):
- value = models.IntegerField()
-
- class Meta:
- abstract = True
-
- # Custom manager
- restricted = Value42()
-
-# No custom manager on this class to make sure the default case doesn't break.
-class AbstractBase3(models.Model):
- comment = models.CharField(max_length=50)
-
- class Meta:
- abstract = True
-
-class Parent(models.Model):
- name = models.CharField(max_length=50)
-
- manager = OnlyFred()
-
- def __unicode__(self):
- return self.name
-
-# Managers from base classes are inherited and, if no manager is specified
-# *and* the parent has a manager specified, the first one (in the MRO) will
-# become the default.
-class Child1(AbstractBase1):
- data = models.CharField(max_length=25)
-
- def __unicode__(self):
- return self.data
-
-class Child2(AbstractBase1, AbstractBase2):
- data = models.CharField(max_length=25)
-
- def __unicode__(self):
- return self.data
-
-class Child3(AbstractBase1, AbstractBase3):
- data = models.CharField(max_length=25)
-
- def __unicode__(self):
- return self.data
-
-class Child4(AbstractBase1):
- data = models.CharField(max_length=25)
-
- # Should be the default manager, although the parent managers are
- # inherited.
- default = models.Manager()
-
- def __unicode__(self):
- return self.data
-
-class Child5(AbstractBase3):
- name = models.CharField(max_length=25)
-
- default = OnlyFred()
- objects = models.Manager()
-
- def __unicode__(self):
- return self.name
-
-# Will inherit managers from AbstractBase1, but not Child4.
-class Child6(Child4):
- value = models.IntegerField()
-
-# Will not inherit default manager from parent.
-class Child7(Parent):
- pass
diff --git a/parts/django/tests/regressiontests/managers_regress/tests.py b/parts/django/tests/regressiontests/managers_regress/tests.py
deleted file mode 100644
index 9a6db61..0000000
--- a/parts/django/tests/regressiontests/managers_regress/tests.py
+++ /dev/null
@@ -1,54 +0,0 @@
-from django.test import TestCase
-
-from models import Child1, Child2, Child3, Child4, Child5, Child6, Child7
-
-
-class ManagersRegressionTests(TestCase):
- def test_managers(self):
- a1 = Child1.objects.create(name='fred', data='a1')
- a2 = Child1.objects.create(name='barney', data='a2')
- b1 = Child2.objects.create(name='fred', data='b1', value=1)
- b2 = Child2.objects.create(name='barney', data='b2', value=42)
- c1 = Child3.objects.create(name='fred', data='c1', comment='yes')
- c2 = Child3.objects.create(name='barney', data='c2', comment='no')
- d1 = Child4.objects.create(name='fred', data='d1')
- d2 = Child4.objects.create(name='barney', data='d2')
- e1 = Child5.objects.create(name='fred', comment='yes')
- e2 = Child5.objects.create(name='barney', comment='no')
- f1 = Child6.objects.create(name='fred', data='f1', value=42)
- f2 = Child6.objects.create(name='barney', data='f2', value=42)
- g1 = Child7.objects.create(name='fred')
- g2 = Child7.objects.create(name='barney')
-
- self.assertQuerysetEqual(Child1.manager1.all(), ["<Child1: a1>"])
- self.assertQuerysetEqual(Child1.manager2.all(), ["<Child1: a2>"])
- self.assertQuerysetEqual(Child1._default_manager.all(), ["<Child1: a1>"])
-
- self.assertQuerysetEqual(Child2._default_manager.all(), ["<Child2: b1>"])
- self.assertQuerysetEqual(Child2.restricted.all(), ["<Child2: b2>"])
-
- self.assertQuerysetEqual(Child3._default_manager.all(), ["<Child3: c1>"])
- self.assertQuerysetEqual(Child3.manager1.all(), ["<Child3: c1>"])
- self.assertQuerysetEqual(Child3.manager2.all(), ["<Child3: c2>"])
-
- # Since Child6 inherits from Child4, the corresponding rows from f1 and
- # f2 also appear here. This is the expected result.
- self.assertQuerysetEqual(Child4._default_manager.order_by('data'), [
- "<Child4: d1>",
- "<Child4: d2>",
- "<Child4: f1>",
- "<Child4: f2>"
- ]
- )
- self.assertQuerysetEqual(Child4.manager1.all(), [
- "<Child4: d1>",
- "<Child4: f1>"
- ]
- )
- self.assertQuerysetEqual(Child5._default_manager.all(), ["<Child5: fred>"])
- self.assertQuerysetEqual(Child6._default_manager.all(), ["<Child6: f1>"])
- self.assertQuerysetEqual(Child7._default_manager.order_by('name'), [
- "<Child7: barney>",
- "<Child7: fred>"
- ]
- )