diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-10-30 10:23:12 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-10-30 10:23:12 +0100 |
commit | 08240fc28fdcd4dd916229e75759b1f1988455ba (patch) | |
tree | d81c85d1b433ed3c0a658f95b1841784789e7c8a /ishtar_common/tests.py | |
parent | 2cb20872730f20d1a0d73c321f269a754ffb5893 (diff) | |
parent | b05763543d0984826715820edf7c59a2a65763e8 (diff) | |
download | Ishtar-08240fc28fdcd4dd916229e75759b1f1988455ba.tar.bz2 Ishtar-08240fc28fdcd4dd916229e75759b1f1988455ba.zip |
Merge branch 'develop' into develop-bootstrap
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r-- | ishtar_common/tests.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index bbb449fe3..e107bd6fb 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -92,6 +92,9 @@ class TestCase(BaseTestCase): class CommandsTestCase(TestCase): + fixtures = [settings.ROOT_PATH + + '../ishtar_common/fixtures/test_towns.json'] + def test_clean_ishtar(self): """ Clean ishtar db @@ -107,6 +110,53 @@ class CommandsTestCase(TestCase): self.assertEqual(parcel_nb - 1, Parcel.objects.count()) self.assertEqual(Parcel.objects.filter(pk=p.pk).count(), 0) + def test_import_geofla(self): + q = models.Town.objects + town_nb = q.count() + out = StringIO() + call_command('import_geofla_csv', + '../ishtar_common/tests/geofla-test.csv', stdout=out) + self.assertEqual(town_nb + 9, models.Town.objects.count()) + call_command('import_geofla_csv', + '../ishtar_common/tests/geofla-test.csv', stdout=out) + # no new town + self.assertEqual(town_nb + 9, models.Town.objects.count()) + + def test_import_insee(self): + q = models.Town.objects + town_nb = q.count() + first, union_start, union_end = '', '', [] + for idx, town in enumerate(q.all()): + x1 = float(idx) / 10 + if not x1: + x1 = 0 + x2 = float(idx) / 10 + 0.1 + l = 'MULTIPOLYGON((({x1} 0.1,{x2} 0.1,{x2} 0,{x1} 0,' \ + '{x1} 0.1)))'.format(x1=x1, x2=x2) + if union_start: + union_start += ", " + else: + first = '{x1} 0.1'.format(x1=x1) + union_start += '{x2} 0.1'.format(x1=x1, x2=x2) + union_end.append('{x2} 0'.format(x1=x1, x2=x2)) + town.limit = l + town.save() + union = 'MULTIPOLYGON (((' + first + ", " + union_start + \ + ", " + ", ".join(reversed(union_end)) + ", 0 0, " + first + ")))" + out = StringIO() + call_command('import_insee_comm_csv', + '../ishtar_common/tests/insee-test.csv', stdout=out) + self.assertEqual(town_nb + 1, models.Town.objects.count()) + new = models.Town.objects.order_by('-pk').all()[0] + self.assertEqual(new.parents.count(), 2) + + self.assertEqual(new.limit.wkt, union) + + call_command('import_insee_comm_csv', + '../ishtar_common/tests/insee-test.csv', stdout=out) + # no new town + self.assertEqual(town_nb + 1, models.Town.objects.count()) + class WizardTestFormData(object): """ |