1 from __future__ import absolute_import, print_function
3 from django.test import TestCase
4 from ..models import ClusterStation, cluster_station_default
5 from ..experiments_factory import ClusterStationFactory
7 class ClusterStationTestCase(TestCase):
8 def test_default(self):
9 """test when there are no default cluster stations
11 c = ClusterStationFactory(isdefault=False)
15 total = ClusterStation.objects.filter(isdefault=True).count()
16 self.assertEqual(total, 0)
19 def test_update_default(self):
20 """make sure there is only one default cluster station
22 old_default = ClusterStationFactory()
23 self.assertEqual(old_default.isdefault, True)
26 new_default = ClusterStationFactory()
27 self.assertEqual(new_default.isdefault, True)
30 c = cluster_station_default()
31 self.assertEqual(c.isdefault, True)
32 self.assertNotEqual(old_default, new_default)
33 self.assertEqual(new_default, c)
35 total = ClusterStation.objects.filter(isdefault=True).count()
36 self.assertEqual(total, 1)
38 def test_update_other(self):
39 old_default = ClusterStationFactory()
41 total = ClusterStation.objects.filter(isdefault=True).count()
42 self.assertEqual(total, 1)
44 c = ClusterStation.objects.get(pk=old_default.id)
45 c.name = "Primary Key 1"
48 total = ClusterStation.objects.filter(isdefault=True).count()
49 self.assertEqual(total, 1)
51 new_default = cluster_station_default()
52 self.assertEqual(old_default, new_default)
56 from unittest import TestSuite, defaultTestLoader
58 suite.addTests(defaultTestLoader.loadTestsFromTestCase(ClusterStationTestCase))
61 if __name__ == "__main__":
62 from unittest import main
63 main(defaultTest="suite")