summaryrefslogtreecommitdiff
path: root/archaeological_finds/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r--archaeological_finds/tests.py93
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'