PageRenderTime 39ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/regressiontests/managers_regress/tests.py

https://code.google.com/p/mango-py/
Python | 54 lines | 45 code | 7 blank | 2 comment | 0 complexity | a93978cb9962a2f84838d3b8a51bcd40 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. from django.test import TestCase
  2. from models import Child1, Child2, Child3, Child4, Child5, Child6, Child7
  3. class ManagersRegressionTests(TestCase):
  4. def test_managers(self):
  5. a1 = Child1.objects.create(name='fred', data='a1')
  6. a2 = Child1.objects.create(name='barney', data='a2')
  7. b1 = Child2.objects.create(name='fred', data='b1', value=1)
  8. b2 = Child2.objects.create(name='barney', data='b2', value=42)
  9. c1 = Child3.objects.create(name='fred', data='c1', comment='yes')
  10. c2 = Child3.objects.create(name='barney', data='c2', comment='no')
  11. d1 = Child4.objects.create(name='fred', data='d1')
  12. d2 = Child4.objects.create(name='barney', data='d2')
  13. e1 = Child5.objects.create(name='fred', comment='yes')
  14. e2 = Child5.objects.create(name='barney', comment='no')
  15. f1 = Child6.objects.create(name='fred', data='f1', value=42)
  16. f2 = Child6.objects.create(name='barney', data='f2', value=42)
  17. g1 = Child7.objects.create(name='fred')
  18. g2 = Child7.objects.create(name='barney')
  19. self.assertQuerysetEqual(Child1.manager1.all(), ["<Child1: a1>"])
  20. self.assertQuerysetEqual(Child1.manager2.all(), ["<Child1: a2>"])
  21. self.assertQuerysetEqual(Child1._default_manager.all(), ["<Child1: a1>"])
  22. self.assertQuerysetEqual(Child2._default_manager.all(), ["<Child2: b1>"])
  23. self.assertQuerysetEqual(Child2.restricted.all(), ["<Child2: b2>"])
  24. self.assertQuerysetEqual(Child3._default_manager.all(), ["<Child3: c1>"])
  25. self.assertQuerysetEqual(Child3.manager1.all(), ["<Child3: c1>"])
  26. self.assertQuerysetEqual(Child3.manager2.all(), ["<Child3: c2>"])
  27. # Since Child6 inherits from Child4, the corresponding rows from f1 and
  28. # f2 also appear here. This is the expected result.
  29. self.assertQuerysetEqual(Child4._default_manager.order_by('data'), [
  30. "<Child4: d1>",
  31. "<Child4: d2>",
  32. "<Child4: f1>",
  33. "<Child4: f2>"
  34. ]
  35. )
  36. self.assertQuerysetEqual(Child4.manager1.all(), [
  37. "<Child4: d1>",
  38. "<Child4: f1>"
  39. ]
  40. )
  41. self.assertQuerysetEqual(Child5._default_manager.all(), ["<Child5: fred>"])
  42. self.assertQuerysetEqual(Child6._default_manager.all(), ["<Child6: f1>"])
  43. self.assertQuerysetEqual(Child7._default_manager.order_by('name'), [
  44. "<Child7: barney>",
  45. "<Child7: fred>"
  46. ]
  47. )