diff options
author | Cefin <kevon@tuta.io> | 2022-02-14 12:23:07 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:21:00 +0100 |
commit | e3129a3d848067d8ee684b4f669951b5948b4714 (patch) | |
tree | d9a6c49e06ce255581592182950129d59eead857 /archaeological_files | |
parent | 16559cbacf794bb37f6da2fa3050d52ae2fbb476 (diff) | |
download | Ishtar-e3129a3d848067d8ee684b4f669951b5948b4714.tar.bz2 Ishtar-e3129a3d848067d8ee684b4f669951b5948b4714.zip |
File - Parcels - Modify: writing tests #5227
Diffstat (limited to 'archaeological_files')
-rw-r--r-- | archaeological_files/tests.py | 84 |
1 files changed, 83 insertions, 1 deletions
diff --git a/archaeological_files/tests.py b/archaeological_files/tests.py index 947f328a8..2f8f1e158 100644 --- a/archaeological_files/tests.py +++ b/archaeological_files/tests.py @@ -34,7 +34,7 @@ from ishtar_common.tests import ( ) from ishtar_common.models import Town, IshtarSiteProfile -from archaeological_files import models +from archaeological_files import models, views from archaeological_operations.models import ( Parcel, ParcelOwner, @@ -504,6 +504,88 @@ class FileOperationTest(TestCase, OperationInitTest, FileInit): self.operations = self.create_operation(self.user, self.orgas[0]) self.operation = self.operations[0] + def test_file_parcel_modify(self): + username, password, user = create_superuser() + + c = Client() + c.login(username=username, password=password) + + town_1 = Town.objects.create(name="Minas Morgul", numero_insee="10920") + town_2 = Town.objects.create(name="Minas Tirith", numero_insee="10901") + parcel_1 = Parcel.objects.create( + town=town_1, year=2640, section="M", parcel_number="1", public_domain=False, associated_file=self.item + ) + parcel_2 = Parcel.objects.create( + town=town_2, year=2620, section="M", parcel_number="2", public_domain=True, associated_file=self.item + ) + + response = c.get(reverse("file-parcels-modify", kwargs={"pk": self.item.pk})) + + self.assertEqual(response.status_code, 200) + self.assertContains(response, town_1.name) + self.assertContains(response, town_2.name) + self.assertContains(response, parcel_1.year) + self.assertContains(response, parcel_2.year) + self.assertContains(response, parcel_1.section) + self.assertContains(response, parcel_2.section) + self.assertContains(response, parcel_1.parcel_number) + self.assertContains(response, parcel_2.parcel_number) + + data = {} + for idx in range(2 + views.PARCEL_FORMSET_EXTRA_FORM): + data.update({ + f"form-{idx}-pk": "", + f"form-{idx}-year": "", + f"form-{idx}-section": "", + f"form-{idx}-parcel_number": "", + f"form-{idx}-town": town_1.pk, + f"form-{idx}-DELETE": '', + }) + data.update({ + "_town": town_2.pk, + "_parcel_selection": "2013:XD:10", + "form-0-pk": parcel_1.pk, + "form-0-year": 2021, + "form-0-section": "SCT1", + "form-0-parcel_number": "001", + "form-0-town": town_2.pk, + "form-0-DELETE": "on", + "form-1-pk": parcel_2.pk, + "form-1-year": 2021, + "form-1-section": "SCT2", + "form-1-parcel_number": "002", + "form-1-town": town_2.pk, + "form-2-year": 2011, + "form-2-section": "XXX", + "form-2-parcel_number": "003", + "form-2-town": town_2.pk, + }) + + post_response = c.post("/file-parcels-modify/" + str(self.item.pk) + "/", data) + + self.assertEqual(post_response.status_code, 302) + + response = c.get(reverse("file-parcels-modify", kwargs={"pk": self.item.pk})) + + self.assertContains(response, town_2.name) + self.assertContains(response, 2021) + self.assertContains(response, "SCT2") + self.assertContains(response, "SCT1", count=0) + self.assertContains(response, "001", count=0) + self.assertContains(response, "002") + self.assertContains(response, "003") + self.assertContains(response, "XXX") + self.assertContains(response, 2013) + self.assertContains(response, "XD") + self.assertContains(response, "10") + + parcels = Parcel.objects.all() + self.assertEqual(parcels.count(), 3) + + deleted_parcel = Parcel.objects.filter(pk=parcel_1.pk) + self.assertEqual(deleted_parcel.count(), 0) + + def testFileAssociation(self): # parcel association default_town = Town.objects.all()[0] |