test_api.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. from django.urls import reverse
  2. from tenancy.models import Tenant, TenantGroup
  3. from utilities.testing import APITestCase, APIViewTestCases
  4. class AppTest(APITestCase):
  5. def test_root(self):
  6. url = reverse('tenancy-api:api-root')
  7. response = self.client.get('{}?format=api'.format(url), **self.header)
  8. self.assertEqual(response.status_code, 200)
  9. class TenantGroupTest(APIViewTestCases.APIViewTestCase):
  10. model = TenantGroup
  11. brief_fields = ['id', 'name', 'slug', 'tenant_count', 'url']
  12. @classmethod
  13. def setUpTestData(cls):
  14. parent_tenant_groups = (
  15. TenantGroup.objects.create(name='Parent Tenant Group 1', slug='parent-tenant-group-1'),
  16. TenantGroup.objects.create(name='Parent Tenant Group 2', slug='parent-tenant-group-2'),
  17. )
  18. TenantGroup.objects.create(name='Tenant Group 1', slug='tenant-group-1', parent=parent_tenant_groups[0])
  19. TenantGroup.objects.create(name='Tenant Group 2', slug='tenant-group-2', parent=parent_tenant_groups[0])
  20. TenantGroup.objects.create(name='Tenant Group 3', slug='tenant-group-3', parent=parent_tenant_groups[0])
  21. cls.create_data = [
  22. {
  23. 'name': 'Tenant Group 4',
  24. 'slug': 'tenant-group-4',
  25. 'parent': parent_tenant_groups[1].pk,
  26. },
  27. {
  28. 'name': 'Tenant Group 5',
  29. 'slug': 'tenant-group-5',
  30. 'parent': parent_tenant_groups[1].pk,
  31. },
  32. {
  33. 'name': 'Tenant Group 6',
  34. 'slug': 'tenant-group-6',
  35. 'parent': parent_tenant_groups[1].pk,
  36. },
  37. ]
  38. class TenantTest(APIViewTestCases.APIViewTestCase):
  39. model = Tenant
  40. brief_fields = ['id', 'name', 'slug', 'url']
  41. @classmethod
  42. def setUpTestData(cls):
  43. tenant_groups = (
  44. TenantGroup.objects.create(name='Tenant Group 1', slug='tenant-group-1'),
  45. TenantGroup.objects.create(name='Tenant Group 2', slug='tenant-group-2'),
  46. )
  47. tenants = (
  48. Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]),
  49. Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[0]),
  50. Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[0]),
  51. )
  52. Tenant.objects.bulk_create(tenants)
  53. cls.create_data = [
  54. {
  55. 'name': 'Tenant 4',
  56. 'slug': 'tenant-4',
  57. 'group': tenant_groups[1].pk,
  58. },
  59. {
  60. 'name': 'Tenant 5',
  61. 'slug': 'tenant-5',
  62. 'group': tenant_groups[1].pk,
  63. },
  64. {
  65. 'name': 'Tenant 6',
  66. 'slug': 'tenant-6',
  67. 'group': tenant_groups[1].pk,
  68. },
  69. ]