Browse Source

First commit for EmFieldGroup tests

Written some test setup and the begining of the __init__ test
Yann Weber 10 years ago
parent
commit
c4ed3ee8de
1 changed files with 83 additions and 0 deletions
  1. 83
    0
      EditorialModel/test/test_fieldgroups.py

+ 83
- 0
EditorialModel/test/test_fieldgroups.py View File

@@ -0,0 +1,83 @@
1
+import os
2
+import logging
3
+
4
+from django.conf import settings
5
+
6
+from unittest import TestCase
7
+import unittest
8
+
9
+from EditorialModel.components import EmComponent
10
+from EditorialModel.fieldgroups import EmFieldGroup
11
+from EditorialModel.classes import EmClass
12
+from EditorialModel.classtypes import EmClassType
13
+
14
+from Database.sqlsetup import SQLSetup
15
+import Database.sqlutils
16
+
17
+import sqlalchemy as sqla
18
+
19
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Lodel.settings")
20
+
21
+#=###########=#
22
+# TESTS SETUP #
23
+#=###########=#
24
+
25
+def setUpModule():
26
+    #Overwritting db confs to make tests
27
+    settings.LODEL2SQLWRAPPER = {
28
+        'default': {
29
+            'ENGINE': 'sqlite',
30
+            'NAME': '/tmp/testdb.sqlite'
31
+        }
32
+    }
33
+
34
+    logging.basicConfig(level=logging.CRITICAL)
35
+
36
+class FieldGroupTestCase(TestCase):
37
+    
38
+    def setUp(self):
39
+        sqls = SQLSetup()
40
+        sqls.initDb()
41
+        #Samples values insertion
42
+
43
+        #Classes creation
44
+        EmClass.create("entity1", EmClassType.entity)
45
+        EmClass.create("entity2", EmClassType.entity)
46
+        EmClass.create("entry1", EmClassType.entry)
47
+        EmClass.create("entry2", EmClassType.entry)
48
+        EmClass.create("person1", EmClassType.person)
49
+        EmClass.create("person2", EmClassType.person)
50
+        pass
51
+
52
+
53
+#======================#
54
+# EmFielgroup.__init__ #
55
+#======================#
56
+class TestInit(FieldGroupTestCase):
57
+
58
+    def setUp(self):
59
+        super(TestInit, self).setUp()
60
+        conn = getEngine().connect()
61
+        
62
+        ent1 = EmClass('entity1')
63
+        idx1 = EmClass('index1')
64
+
65
+        self.tfg = [
66
+            { 'uid': EmFieldGroup.newUid(), 'name': 'fg1', 'string': '{"fr":"Super Fieldgroup"}', 'help': '{"en":"help"}', 'rank': 0 , 'class_id': ent1.uid},
67
+            { 'uid': EmFieldGroup.newUid(), 'name': 'fg2', 'string': '{"fr":"Super Fieldgroup"}', 'help': '{"en":"help"}', 'rank': 1 , 'class_id': ent1.uid},
68
+            { 'uid': EmFieldGroup.newUid(), 'name': 'fg3', 'string': '{"fr":"Super Fieldgroup"}', 'help': '{"en":"help"}', 'rank': 2 , 'class_id': idx1.uid},
69
+        ]
70
+
71
+        req = sqla.Table('em_fieldgroup').insert(self.tfg)
72
+        conn.execute(req)
73
+        pass
74
+
75
+    def testinit(self):
76
+        fg1 = EmFieldGroup('fg1')
77
+
78
+        for tfg in self.tfg:
79
+            fg = EmFieldGroup(tfg['name'])
80
+            for attr in tfg:
81
+                self.assertEqual(getattr(fg, attr), tfg[attr], "The properties fetched from Db don't match excepted value")
82
+
83
+

Loading…
Cancel
Save