summaryrefslogtreecommitdiff
path: root/archaeological_operations/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r--archaeological_operations/tests.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 14577e119..06898014c 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -498,6 +498,63 @@ class ImportOperationTest(ImportTest, TestCase):
u"autre": 333})
+class ImportDocumentTest(ImportTest, TestCase):
+ fixtures = OPERATION_TOWNS_FIXTURES
+
+ def init_doc_import(self, filename='document-example.csv'):
+ model, __ = ImporterModel.objects.get_or_create(
+ klass="ishtar_common.models.Document",
+ defaults={
+ "name": "Documentation"
+ }
+ )
+ doc_import, __ = ImporterType.objects.get_or_create(
+ name="Doc import", slug="doc-import", associated_models=model)
+
+ col = ImporterColumn.objects.create(col_number=1,
+ importer_type_id=doc_import.pk)
+ formater = FormaterType.objects.filter(
+ formater_type='IntegerFormater').all()[0]
+ ImportTarget.objects.create(target='import_get_next_index',
+ formater_type_id=formater.pk,
+ column_id=col.pk)
+ col = ImporterColumn.objects.create(col_number=2,
+ importer_type_id=doc_import.pk)
+ formater, __ = FormaterType.objects.get_or_create(
+ formater_type='UnicodeFormater', options=None)
+ ImportTarget.objects.create(target='title',
+ formater_type_id=formater.pk,
+ column_id=col.pk)
+
+ doc_import_file = open(
+ settings.ROOT_PATH +
+ '../archaeological_operations/tests/' + filename,
+ 'rb')
+
+ file_dict = {'imported_file': SimpleUploadedFile(
+ doc_import_file.name, doc_import_file.read())}
+
+ group, c = TargetKeyGroup.objects.get_or_create(name="My group")
+ post_dict = {'importer_type': doc_import.pk, 'skip_lines': 1,
+ "encoding": 'utf-8', "name": 'init_ope_import',
+ "associated_group": group.pk}
+ form = forms_common.NewImportForm(data=post_dict, files=file_dict,
+ user=self.user)
+ form.is_valid()
+ return doc_import, form
+
+ def test_import_document(self):
+ doc_nb = Document.objects.count()
+ current_index = Document.get_next_index() - 1
+
+ importer, form = self.init_doc_import()
+ self.assertTrue(form.is_valid())
+ impt = form.save(self.ishtar_user)
+ impt.importation()
+ self.assertEqual(doc_nb + 2, Document.objects.count())
+ self.assertEqual(current_index + 2, Document.get_next_index() - 1)
+
+
class ImportStepByStepTest(ImportTest, TestCase):
fixtures = OPERATION_TOWNS_FIXTURES