diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 19:04:05 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 19:04:05 +0200 |
commit | 07ae3337e7fbefac241eb816f3513b267e2dcd72 (patch) | |
tree | c0c99bf70f7df262cd5a76b9b17bcd7dfb84a66c /archaeological_finds/tests.py | |
parent | 35fb017eb816402140317dd9ba78c91f7b68d121 (diff) | |
download | Ishtar-07ae3337e7fbefac241eb816f3513b267e2dcd72.tar.bz2 Ishtar-07ae3337e7fbefac241eb816f3513b267e2dcd72.zip |
Serialization: finds - UUID for finds, base finds and baskets
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r-- | archaeological_finds/tests.py | 93 |
1 files changed, 91 insertions, 2 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 9d2ff8e8b..63090ce04 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -44,17 +44,18 @@ from archaeological_warehouse.models import Warehouse, WarehouseType, \ ContainerType, Container, WarehouseDivision, WarehouseDivisionLink, \ ContainerLocalisation from archaeological_operations.models import Operation, OperationType -from archaeological_context_records.models import ContextRecord from ishtar_common import forms_common from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ TestCase, create_user, create_superuser, AutocompleteTestBase, AcItem, \ FIND_FIXTURES, FIND_TOWNS_FIXTURES, WAREHOUSE_FIXTURES, \ - CONTEXT_RECORD_FIXTURES, CONTEXT_RECORD_TOWNS_FIXTURES + COMMON_FIXTURES, GenericSerializationTest from archaeological_operations.tests import ImportTest, create_operation from archaeological_context_records.tests import ContextRecordInit +from archaeological_finds import serializers + class FindInit(ContextRecordInit): test_context_records = False @@ -114,6 +115,94 @@ class FindInit(ContextRecordInit): self.base_find = [] +class SerializationTest(GenericSerializationTest, FindInit, TestCase): + fixtures = COMMON_FIXTURES + WAREHOUSE_FIXTURES + + def setUp(self): + ope1 = self.create_operation()[0] + ope2 = self.create_operation()[1] + cr = self.create_context_record( + data={"label": u"CR 1", "operation": ope1} + )[0] + cr2 = self.create_context_record( + data={"label": u"CR 2", "operation": ope2} + )[1] + self.create_finds(data_base={"context_record": cr})[0] + self.create_finds(data_base={"context_record": cr2})[1] + # basket = models.FindBasket.objects.create(label="Hophop") + # basket.items.add(self.finds[0]) + # basket.items.add(self.finds[1]) + + def test_serialization(self): + res = self.generic_serialization_test(serializers.find_serialization) + find_json = json.loads( + res[('finds', 'archaeological_finds__Find')] + ) + self.assertEqual(len(find_json), 2) + bfind_json = json.loads( + res[('finds', 'archaeological_finds__BaseFind')] + ) + self.assertEqual(len(bfind_json), 2) + + result_queryset = Operation.objects.filter(uuid=self.operations[0].uuid) + res = self.generic_serialization_test( + serializers.find_serialization, no_test=True, + kwargs={"operation_queryset": result_queryset} + ) + find_json = json.loads( + res[('finds', 'archaeological_finds__Find')] + ) + self.assertEqual(len(find_json), 1) + bfind_json = json.loads( + res[('finds', 'archaeological_finds__BaseFind')] + ) + self.assertEqual(len(bfind_json), 1) + + result_queryset = ContextRecord.objects.filter( + uuid=self.context_records[0].uuid) + res = self.generic_serialization_test( + serializers.find_serialization, no_test=True, + kwargs={"cr_queryset": result_queryset} + ) + find_json = json.loads( + res[('finds', 'archaeological_finds__Find')] + ) + self.assertEqual(len(find_json), 1) + bfind_json = json.loads( + res[('finds', 'archaeological_finds__BaseFind')] + ) + self.assertEqual(len(bfind_json), 1) + + """ + def test_ope_serialization_with_cr_filter(self): + res = self.generic_serialization_test( + operation_serialization, no_test=True, + ) + ope_json = json.loads( + res[('operations', 'archaeological_operations__Operation')] + ) + self.assertEqual(len(ope_json), 2) + + result_queryset = models.ContextRecord.objects.filter( + uuid=self.context_records[0].uuid) + res = self.generic_serialization_test( + operation_serialization, no_test=True, + kwargs={"cr_queryset": result_queryset} + ) + ope_json = json.loads( + res[('operations', 'archaeological_operations__Operation')] + ) + self.assertEqual(len(ope_json), 1) + """ + + def test_restore(self): + current_number, zip_filename = self.generic_restore_test_genzip( + serializers.FIND_MODEL_LIST, + serializers.find_serialization) + self.generic_restore_test(zip_filename, current_number, + serializers.FIND_MODEL_LIST) + + class FindWizardCreationTest(WizardTest, FindInit, TestCase): fixtures = WAREHOUSE_FIXTURES url_name = 'find_creation' |