test_admin.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from django.contrib import admin
  2. from django.db import models
  3. from mock import Mock
  4. from django_browserid.admin import BrowserIDAdminSite
  5. from django_browserid.tests import TestCase
  6. class BrowserIDAdminSiteTests(TestCase):
  7. def test_copy_registry(self):
  8. """
  9. copy_registry should register the ModelAdmins from the given
  10. site on the BrowserIDAdminSite.
  11. """
  12. django_site = admin.AdminSite()
  13. browserid_site = BrowserIDAdminSite()
  14. class TestModel(models.Model):
  15. pass
  16. class TestModelAdmin(admin.ModelAdmin):
  17. pass
  18. browserid_site.register = Mock()
  19. django_site.register(TestModel, TestModelAdmin)
  20. browserid_site.copy_registry(django_site)
  21. browserid_site.register.assert_any_call(TestModel, TestModelAdmin)
  22. def test_copy_registry_multiple(self):
  23. django_site = admin.AdminSite()
  24. browserid_site = BrowserIDAdminSite()
  25. class TestModel1(models.Model):
  26. pass
  27. class TestModel2(models.Model):
  28. pass
  29. class TestModel3(models.Model):
  30. pass
  31. class TestModelAdmin(admin.ModelAdmin):
  32. pass
  33. class TestModel2Admin(admin.ModelAdmin):
  34. pass
  35. browserid_site.register = Mock()
  36. django_site.register(TestModel1, TestModelAdmin)
  37. django_site.register(TestModel2, TestModel2Admin)
  38. django_site.register(TestModel3, TestModelAdmin)
  39. browserid_site.copy_registry(django_site)
  40. browserid_site.register.assert_any_call(TestModel1, TestModelAdmin)
  41. browserid_site.register.assert_any_call(TestModel2, TestModel2Admin)
  42. browserid_site.register.assert_any_call(TestModel3, TestModelAdmin)