diff options
-rw-r--r-- | archaeological_finds/tests.py | 197 |
1 files changed, 99 insertions, 98 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 085671be3..b5096ae01 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -34,69 +34,6 @@ from ishtar_common import forms_common from ishtar_common.tests import WizardTest, WizardTestFormData as FormData -class ImportFindTest(ImportContextRecordTest): - test_context_records = False - - fixtures = ImportContextRecordTest.fixtures + [ - settings.ROOT_PATH + - '../archaeological_finds/fixtures/initial_data-fr.json', - ] - - def testMCCImportFinds(self, test=True): - self.testMCCImportContextRecords(test=False) - - old_nb = models.BaseFind.objects.count() - old_nb_find = models.Find.objects.count() - MCC = ImporterType.objects.get(name=u"MCC - Mobilier") - - col = ImporterColumn.objects.create(col_number=25, - importer_type_id=MCC.pk) - formater = FormaterType.objects.filter( - formater_type='FileFormater').all()[0] - ImportTarget.objects.create(target='find__image', - formater_type_id=formater.pk, - column_id=col.pk) - mcc_file = open( - settings.ROOT_PATH + - '../archaeological_finds/tests/MCC-finds-example.csv', 'rb') - mcc_images = open( - settings.ROOT_PATH + - '../archaeological_finds/tests/images.zip', 'rb') - file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name, - mcc_file.read()), - 'imported_images': SimpleUploadedFile(mcc_images.name, - mcc_images.read())} - post_dict = {'importer_type': MCC.pk, 'skip_lines': 1, - "encoding": 'utf-8'} - form = forms_common.NewImportForm(data=post_dict, files=file_dict, - instance=None) - form.is_valid() - if test: - self.assertTrue(form.is_valid()) - impt = form.save(self.ishtar_user) - impt.initialize() - - # doing manual connections - ceram = models.MaterialType.objects.get(txt_idx='ceramic').pk - glass = models.MaterialType.objects.get(txt_idx='glass').pk - self.setTargetKey('find__material_types', 'terre-cuite', ceram) - self.setTargetKey('find__material_types', 'verre', glass) - impt.importation() - if not test: - return - # new finds has now been imported - current_nb = models.BaseFind.objects.count() - self.assertEqual(current_nb, (old_nb + 4)) - current_nb = models.Find.objects.count() - self.assertEqual(current_nb, (old_nb_find + 4)) - self.assertEqual( - models.Find.objects.filter(material_types__pk=ceram).count(), 4) - self.assertEqual( - models.Find.objects.filter(material_types__pk=glass).count(), 1) - images = [f.image for f in models.Find.objects.all() if f.image.name] - self.assertEqual(len(images), 1) - - class FindInit(ContextRecordInit): test_context_records = False @@ -143,39 +80,8 @@ class FindInit(ContextRecordInit): self.base_find = [] -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', - ] - model = models.Find - - def setUp(self): - self.create_finds(force=True) - - def testExternalID(self): - find = self.finds[0] - base_find = find.base_finds.all()[0] - self.assertEqual( - find.external_id, - u"{}-{}".format( - find.get_first_base_find().context_record.external_id, - find.label)) - self.assertEqual( - base_find.external_id, - u"{}-{}".format( - base_find.context_record.external_id, - base_find.label)) - - -class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase): +class ATreatmentWizardCreationTest(WizardTest, FindInit, TestCase): + # TODO: first to be run because of strange init things... fixtures = [settings.ROOT_PATH + '../fixtures/initial_data.json', settings.ROOT_PATH + @@ -229,7 +135,7 @@ class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase): if not models.Find.objects.filter(pk=1).count(): self.create_finds({"pk": 1, "label": u"Find 1"}, force=True) self.treatment_number = models.Treatment.objects.count() - super(TreatmentWizardCreationTest, self).pre_wizard() + super(ATreatmentWizardCreationTest, self).pre_wizard() def post_wizard(self): self.assertEqual(models.Treatment.objects.count(), @@ -237,7 +143,102 @@ class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase): pass -class ZPackagingTest(FindInit, TestCase): +class ImportFindTest(ImportContextRecordTest): + test_context_records = False + + fixtures = ImportContextRecordTest.fixtures + [ + settings.ROOT_PATH + + '../archaeological_finds/fixtures/initial_data-fr.json', + ] + + def testMCCImportFinds(self, test=True): + self.testMCCImportContextRecords(test=False) + + old_nb = models.BaseFind.objects.count() + old_nb_find = models.Find.objects.count() + MCC = ImporterType.objects.get(name=u"MCC - Mobilier") + + col = ImporterColumn.objects.create(col_number=25, + importer_type_id=MCC.pk) + formater = FormaterType.objects.filter( + formater_type='FileFormater').all()[0] + ImportTarget.objects.create(target='find__image', + formater_type_id=formater.pk, + column_id=col.pk) + mcc_file = open( + settings.ROOT_PATH + + '../archaeological_finds/tests/MCC-finds-example.csv', 'rb') + mcc_images = open( + settings.ROOT_PATH + + '../archaeological_finds/tests/images.zip', 'rb') + file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name, + mcc_file.read()), + 'imported_images': SimpleUploadedFile(mcc_images.name, + mcc_images.read())} + post_dict = {'importer_type': MCC.pk, 'skip_lines': 1, + "encoding": 'utf-8'} + form = forms_common.NewImportForm(data=post_dict, files=file_dict, + instance=None) + form.is_valid() + if test: + self.assertTrue(form.is_valid()) + impt = form.save(self.ishtar_user) + impt.initialize() + + # doing manual connections + ceram = models.MaterialType.objects.get(txt_idx='ceramic').pk + glass = models.MaterialType.objects.get(txt_idx='glass').pk + self.setTargetKey('find__material_types', 'terre-cuite', ceram) + self.setTargetKey('find__material_types', 'verre', glass) + impt.importation() + if not test: + return + # new finds has now been imported + current_nb = models.BaseFind.objects.count() + self.assertEqual(current_nb, (old_nb + 4)) + current_nb = models.Find.objects.count() + self.assertEqual(current_nb, (old_nb_find + 4)) + self.assertEqual( + models.Find.objects.filter(material_types__pk=ceram).count(), 4) + self.assertEqual( + models.Find.objects.filter(material_types__pk=glass).count(), 1) + images = [f.image for f in models.Find.objects.all() if f.image.name] + self.assertEqual(len(images), 1) + + +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', + ] + model = models.Find + + def setUp(self): + self.create_finds(force=True) + + def testExternalID(self): + find = self.finds[0] + base_find = find.base_finds.all()[0] + self.assertEqual( + find.external_id, + u"{}-{}".format( + find.get_first_base_find().context_record.external_id, + find.label)) + self.assertEqual( + base_find.external_id, + u"{}-{}".format( + base_find.context_record.external_id, + base_find.label)) + + +class PackagingTest(FindInit, TestCase): fixtures = [settings.ROOT_PATH + '../fixtures/initial_data.json', settings.ROOT_PATH + |