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.py62
1 files changed, 61 insertions, 1 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index 1268b4f03..cd6bada77 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -28,7 +28,7 @@ from django.test.client import Client
from ishtar_common.models import ImporterType, IshtarUser, ImporterColumn,\
FormaterType, ImportTarget
-from ishtar_common.models import Person
+from ishtar_common.models import Person, get_current_profile
from archaeological_context_records.models import Period, Dating
from archaeological_finds import models, views
from archaeological_warehouse.models import Warehouse, WarehouseType
@@ -312,6 +312,66 @@ class FindTest(FindInit, TestCase):
base_find.context_record.external_id,
base_find.label))
+ def testIndex(self):
+ profile = get_current_profile()
+ profile.find_index = u"O"
+ profile.save()
+
+ op1 = self.create_operation()[-1]
+ op2 = self.create_operation()[-1]
+ op1_cr1 = self.create_context_record(data={'label': "CR1",
+ 'operation': op1})[-1]
+ op1_cr2 = self.create_context_record(data={'label': "CR2",
+ 'operation': op1})[-1]
+ op2_cr1 = self.create_context_record(data={'label': "CR3",
+ 'operation': op2})[-1]
+ self.create_finds(data_base={'context_record': op1_cr1})
+ find_1 = self.finds[-1]
+ bf_1 = models.BaseFind.objects.get(pk=self.base_finds[-1].pk)
+ self.assertEqual(find_1.index, 1)
+ self.assertEqual(bf_1.index, 1)
+
+ # index is based on operations
+ self.create_finds(data_base={'context_record': op1_cr2})
+ find_2 = self.finds[-1]
+ bf_2 = models.BaseFind.objects.get(pk=self.base_finds[-1].pk)
+ self.assertEqual(find_2.index, 2)
+ self.assertEqual(bf_2.index, 2)
+
+ self.create_finds(data_base={'context_record': op2_cr1})
+ find_3 = self.finds[-1]
+ bf_3 = models.BaseFind.objects.get(pk=self.base_finds[-1].pk)
+ self.assertEqual(find_3.index, 1)
+ self.assertEqual(bf_3.index, 1)
+
+ profile = get_current_profile()
+ profile.find_index = u"CR"
+ profile.save()
+
+ op3 = self.create_operation()[-1]
+ op3_cr1 = self.create_context_record(data={'label': "CR1",
+ 'operation': op3})[-1]
+ op3_cr2 = self.create_context_record(data={'label': "CR2",
+ 'operation': op3})[-1]
+ self.create_finds(data_base={'context_record': op3_cr1})
+ find_1b = self.finds[-1]
+ bf_1b = models.BaseFind.objects.get(pk=self.base_finds[-1].pk)
+ self.assertEqual(find_1b.index, 1)
+ self.assertEqual(bf_1b.index, 1)
+
+ # index now based on context records
+ self.create_finds(data_base={'context_record': op3_cr2})
+ find_2b = self.finds[-1]
+ bf_2b = models.BaseFind.objects.get(pk=self.base_finds[-1].pk)
+ self.assertEqual(find_2b.index, 1)
+ self.assertEqual(bf_2b.index, 1)
+
+ self.create_finds(data_base={'context_record': op3_cr2})
+ find_3b = self.finds[-1]
+ bf_3b = models.BaseFind.objects.get(pk=self.base_finds[-1].pk)
+ self.assertEqual(find_3b.index, 2)
+ self.assertEqual(bf_3b.index, 2)
+
def testShowFind(self):
find = self.finds[0]
response = self.client.get(reverse('display-find', args=[find.pk]))