tests.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.test import TestCase
  2. from contribmap.models import Contrib
  3. class TestContrib(TestCase):
  4. def test_comma_separatedcharfield(self):
  5. co = Contrib(name='foo', orientations=['SO', 'NE'])
  6. co.save()
  7. self.assertEqual(
  8. Contrib.objects.get(name='foo').orientations,
  9. ['SO', 'NE'])
  10. co.orientations = ['S']
  11. co.save()
  12. class TestContribPrivacy(TestCase):
  13. def test_always_private_field(self):
  14. c = Contrib.objects.create(
  15. name='John',
  16. phone='010101010101',
  17. contrib_type=Contrib.CONTRIB_CONNECT,
  18. )
  19. self.assertEqual(c.get_public_field('phone'), None)
  20. def test_public_field(self):
  21. c = Contrib.objects.create(
  22. name='John',
  23. phone='010101010101',
  24. contrib_type=Contrib.CONTRIB_CONNECT,
  25. privacy_name=True,
  26. )
  27. self.assertEqual(c.get_public_field('name'), 'John')
  28. def test_private_field(self):
  29. c = Contrib.objects.create(
  30. name='John',
  31. phone='010101010101',
  32. contrib_type=Contrib.CONTRIB_CONNECT,
  33. )
  34. self.assertEqual(c.privacy_name, False)
  35. self.assertEqual(c.get_public_field('name'), None)
  36. class TestDataImport(TestCase):
  37. fixtures = ['bottle_data.yaml']
  38. def test_re_save(self):
  39. for contrib in Contrib.objects.all():
  40. contrib.full_clean()
  41. contrib.save()