No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_fieldgroups.py 2.4KB

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