diff --git a/tests/bulkdata/tile_excel_tests.py b/tests/bulkdata/tile_excel_tests.py new file mode 100644 index 00000000000..2f11b627572 --- /dev/null +++ b/tests/bulkdata/tile_excel_tests.py @@ -0,0 +1,48 @@ +""" +ARCHES - a program developed to inventory and manage immovable cultural heritage. +Copyright (C) 2013 J. Paul Getty Trust and World Monuments Fund + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +""" + +from arches.app.utils.betterJSONSerializer import JSONDeserializer +from arches.app.utils.data_management.resource_graphs.importer import ( + import_graph as ResourceGraphImporter, +) +from arches.app.utils.i18n import LanguageSynchronizer +from django.core.management import call_command +from django.test import TransactionTestCase +from io import StringIO +import os + +# these tests can be run from the command line via +# python manage.py test tests.bulkdata.tile_excel_tests --settings="tests.test_settings" + + +class TileExcelTests(TransactionTestCase): + + def setUp(self): + LanguageSynchronizer.synchronize_settings_with_db() + with open( + os.path.join("tests/fixtures/resource_graphs/Resource Test Model.json"), + "r", + ) as f: + archesfile = JSONDeserializer().deserialize(f) + ResourceGraphImporter(archesfile["graph"]) + + def test_cli(self): + out = StringIO() + excel_file_path = "tests/fixtures/data/uploadedfiles/tile_excel_test.xlsx" + call_command("etl", "tile-excel-importer", source=excel_file_path, stdout=out) + self.assertIn("succeeded", out.getvalue()) diff --git a/tests/fixtures/data/uploadedfiles/tile_excel_test.xlsx b/tests/fixtures/data/uploadedfiles/tile_excel_test.xlsx new file mode 100644 index 00000000000..a06af945698 Binary files /dev/null and b/tests/fixtures/data/uploadedfiles/tile_excel_test.xlsx differ