summaryrefslogtreecommitdiff
path: root/archaeological_finds
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2020-07-01 17:57:39 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2020-07-01 17:57:39 +0200
commit5b3bf3f1fb37ad2a79a2ad04138746a58452e6d6 (patch)
tree0537fe6e1dd8ed2a2e55bfb4d398044b6cabdd79 /archaeological_finds
parent18f8006b70d52bbafe5ab75478f1f963aaf7636f (diff)
downloadIshtar-5b3bf3f1fb37ad2a79a2ad04138746a58452e6d6.tar.bz2
Ishtar-5b3bf3f1fb37ad2a79a2ad04138746a58452e6d6.zip
Fix bad M2M renitialization on wizards (refs #4963)
Diffstat (limited to 'archaeological_finds')
-rw-r--r--archaeological_finds/tests.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index cfdcb1585..b376a34ff 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -301,6 +301,79 @@ class FindWizardCreationTest(WizardTest, FindInit, TestCase):
self.assertEqual(f.datings.count(), 1)
+class FindWizardModificationTest(WizardTest, FindInit, TestCase):
+ fixtures = WAREHOUSE_FIXTURES
+ url_name = 'find_modification'
+ wizard_name = url_name + '_wizard'
+ steps = views.find_modification_steps
+ redirect_url = "/find_modification/selec-find_modification?open_item=" \
+ "{last_id}"
+ model = models.Find
+ form_datas = [
+ FormData(
+ 'Find modification',
+ form_datas={
+ 'selec': {'pk': ''},
+ 'selecrecord': {
+ "get_first_base_find__context_record": ""
+ },
+ 'find-find_modification': {
+ 'label': 'hop',
+ 'checked': 'NC',
+ 'check_date': '2016-01-01'
+ },
+ 'dating-find_modification': [
+ {
+ 'period': None,
+ 'start_date': '',
+ 'end_date': '',
+ },
+ ]
+ },
+ ignored=['preservation-find_modification',
+ 'selecw-find_modification',
+ 'simplefind-find_modification']
+ )
+ ]
+
+ def pre_wizard(self):
+ find, __ = self.get_default_find()
+ self.find = find
+ find.label = "base-hop"
+ find.check_date = "2020-07-01"
+ find.save()
+ data = self.form_datas[0].form_datas
+
+ data['selec']['pk'] = find.pk
+ data['selecrecord']['get_first_base_find__context_record'] = \
+ find.base_finds.all()[0].pk
+
+ self.period = Period.objects.all()[0]
+ self.period2 = Period.objects.all()[1]
+
+ find.datings.add(Dating.objects.create(
+ period=self.period, start_date='0', end_date='200'))
+ find.datings.add(Dating.objects.create(period=self.period2))
+
+ data['dating-find_modification'][0]['period'] = self.period.pk
+ self.find_number = models.Find.objects.count()
+ self.basefind_number = models.BaseFind.objects.count()
+ super(FindWizardModificationTest, self).pre_wizard()
+
+ def post_wizard(self):
+ # no creation
+ self.assertEqual(models.BaseFind.objects.count(),
+ self.basefind_number)
+ self.assertEqual(models.Find.objects.count(),
+ self.find_number)
+ f = models.Find.objects.get(pk=self.find.pk)
+ self.assertEqual(f.datings.count(), 1)
+ dating = f.datings.all()[0]
+ self.assertEqual(dating.period, self.period)
+ self.assertEqual(dating.end_date, None)
+ self.assertEqual(dating.start_date, None)
+
+
class FindWizardDeletionWithWarehouseModTest(WizardTest, FindInit, TestCase):
fixtures = WAREHOUSE_FIXTURES
url_name = 'find_deletion'