diff options
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/fixtures/initial_data-fr.json | 15 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 6 | ||||
-rw-r--r-- | archaeological_finds/tests.py | 104 |
3 files changed, 58 insertions, 67 deletions
diff --git a/archaeological_finds/fixtures/initial_data-fr.json b/archaeological_finds/fixtures/initial_data-fr.json index b8f233f88..c7f0699b1 100644 --- a/archaeological_finds/fixtures/initial_data-fr.json +++ b/archaeological_finds/fixtures/initial_data-fr.json @@ -857,6 +857,21 @@ } }, { + "pk": 20, + "model": "archaeological_finds.treatmenttype", + "fields": { + "comment": "Remontage virtuel : on sait que les \u00e9l\u00e9ments remontent ensemble, mais il n'y a pas eu de remontage physique p\u00e9renne.", + "available": true, + "downstream_is_many": false, + "parent": null, + "virtual": true, + "label": "Remontage virtuel", + "upstream_is_many": true, + "order": 10, + "txt_idx": "virtual-reassembly" + } + }, + { "pk": 6, "model": "archaeological_finds.treatmentstate", "fields": { diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 4fea6edd3..78280bede 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -1095,6 +1095,12 @@ class Find(ValueGetter, BaseHistorizedItem, ImageModel, OwnPerms, # base_find.material_index = \ # idx and idx['material_index__max'] + 1 or 1 + def fix(self): + """ + Fix redundant m2m dating association (usually after imports) + """ + Dating.fix_dating_association(self) + post_save.connect(cached_label_changed, sender=Find) diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 41e113245..f8f134c0a 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -38,8 +38,24 @@ from ishtar_common import forms_common from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ TestCase from archaeological_operations.tests import ImportTest -from archaeological_context_records.tests import ImportContextRecordTest, \ - ContextRecordInit +from archaeological_context_records.tests import ContextRecordInit, \ + CONTEXT_RECORD_FIXTURES, CONTEXT_RECORD_TOWNS_FIXTURES + + +FIND_FIXTURES = CONTEXT_RECORD_FIXTURES + [ + settings.ROOT_PATH + + '../archaeological_finds/fixtures/initial_data-fr.json', +] + +FIND_TOWNS_FIXTURES = CONTEXT_RECORD_TOWNS_FIXTURES + [ + settings.ROOT_PATH + + '../archaeological_finds/fixtures/initial_data-fr.json', +] + +WAREHOUSE_FIXTURES = FIND_FIXTURES + [ + settings.ROOT_PATH + + '../archaeological_warehouse/fixtures/initial_data-fr.json', +] class FindInit(ContextRecordInit): @@ -92,19 +108,7 @@ class FindInit(ContextRecordInit): class FindWizardCreationTest(WizardTest, FindInit, TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_files/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_warehouse/fixtures/initial_data-fr.json', - ] + fixtures = WAREHOUSE_FIXTURES url_name = 'find_creation' wizard_name = 'find_wizard' steps = views.find_creation_steps @@ -123,6 +127,11 @@ class FindWizardCreationTest(WizardTest, FindInit, TestCase): 'period': None, 'start_date': '0', 'end_date': '200', + }, + { + 'period': None, + 'start_date': '0', + 'end_date': '200', } ] }, @@ -135,8 +144,11 @@ class FindWizardCreationTest(WizardTest, FindInit, TestCase): self.form_datas[0].form_datas['selecrecord-find_creation']['pk'] = \ cr.pk + period = Period.objects.all()[0].pk self.form_datas[0].form_datas['dating-find_creation'][0]['period'] = \ - Period.objects.all()[0].pk + period + self.form_datas[0].form_datas['dating-find_creation'][1]['period'] = \ + period self.find_number = models.Find.objects.count() self.basefind_number = models.BaseFind.objects.count() super(FindWizardCreationTest, self).pre_wizard() @@ -146,10 +158,13 @@ class FindWizardCreationTest(WizardTest, FindInit, TestCase): self.basefind_number + 1) self.assertEqual(models.Find.objects.count(), self.find_number + 1) + # identical datings, only one should be finaly save + f = models.Find.objects.order_by("-pk").all()[0] + self.assertEqual(f.datings.count(), 1) class FindWizardDeletionWithWarehouseModTest(WizardTest, FindInit, TestCase): - fixtures = FindWizardCreationTest.fixtures + fixtures = WAREHOUSE_FIXTURES url_name = 'find_deletion' wizard_name = 'find_deletion_wizard' steps = views.find_deletion_steps @@ -180,19 +195,7 @@ class FindWizardDeletionWithWarehouseModTest(WizardTest, FindInit, TestCase): class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_files/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_warehouse/fixtures/initial_data-fr.json', - ] + fixtures = WAREHOUSE_FIXTURES url_name = 'treatment_creation' wizard_name = 'treatment_wizard' steps = views.treatment_wizard_steps @@ -250,10 +253,7 @@ class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase): class ImportFindTest(ImportTest, TestCase): - fixtures = ImportContextRecordTest.fixtures + [ - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - ] + fixtures = FIND_TOWNS_FIXTURES def test_mcc_import_finds(self): self.init_context_record() @@ -307,17 +307,7 @@ class ImportFindTest(ImportTest, TestCase): class FindTest(FindInit, TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_files/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - ] + fixtures = FIND_FIXTURES model = models.Find def setUp(self): @@ -424,17 +414,7 @@ class FindTest(FindInit, TestCase): class FindSearchTest(FindInit, TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_files/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - ] + fixtures = FIND_FIXTURES model = models.Find def setUp(self): @@ -564,17 +544,7 @@ class FindSearchTest(FindInit, TestCase): class PackagingTest(FindInit, TestCase): - fixtures = [settings.ROOT_PATH + - '../fixtures/initial_data.json', - settings.ROOT_PATH + - '../ishtar_common/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_files/fixtures/initial_data.json', - settings.ROOT_PATH + - '../archaeological_operations/fixtures/initial_data-fr.json', - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - ] + fixtures = FIND_FIXTURES model = models.Find def setUp(self): |