Преглед на файлове

Added new tests for reference

m.orban преди 7 години
родител
ревизия
41aa0ace6f
променени са 1 файла, в които са добавени 54 реда и са изтрити 0 реда
  1. 54
    0
      tests/datahandlers/test_reference.py

+ 54
- 0
tests/datahandlers/test_reference.py Целия файл

@@ -0,0 +1,54 @@
1
+
2
+import unittest
3
+
4
+from lodel.leapi.datahandlers.base_classes import Reference
5
+from leapi.query.utils import init_dyncode
6
+from lodel.exceptions import *
7
+from lodel.leapi.leobject import LeObject
8
+
9
+dyncode = init_dyncode()
10
+obj1 = dyncode.Person(
11
+lodel_id = '1',
12
+lastname = "Foo",
13
+firstname = "Bar",
14
+alias = "Foobar")
15
+
16
+obj2 = dyncode.Collection(
17
+lodel_id = '3',
18
+title = "Foo)")
19
+
20
+obj3 = dyncode.Collection(
21
+lodel_id = '4',
22
+title = "Foo")
23
+
24
+class ReferenceTestCase(unittest.TestCase):
25
+
26
+    def test_init_reference_class(self):
27
+        reference = None
28
+        try:
29
+            reference = Reference()
30
+        except NotImplementedError:
31
+            self.assertNotIsInstance(reference, DataHandler)
32
+            self.assertIsNone(datahandler)
33
+
34
+    def test_reference_check_bad_data_value(self):
35
+        test_ref = Reference((obj1, obj2))
36
+        for test_value in ['toto']:
37
+            with self.assertRaises(FieldValidationError):
38
+                test_ref._check_data_value(test_value)
39
+
40
+    def test_reference_check_good_data_value(self):
41
+        test_ref = Reference((obj1,))
42
+        for test_value in [obj3, 15]:
43
+            value = test_ref._check_data_value(test_value)
44
+            self.assertEqual(test_value, value)
45
+
46
+
47
+class MultipleRefTestCase(unnittest.case):
48
+
49
+    def test_multiref_check_data_value_not_iter(self):
50
+        multiref = MultipleRef(3)
51
+        for test_value in [obj3, 15]:
52
+            value = test_ref._check_data_value(test_value)
53
+            self.assertEqual(test_value, value)
54
+

Loading…
Отказ
Запис