fix: add db.util.make_topo_sortkey()
function
This commit is contained in:
parent
c3aa97ed27
commit
d95b101dbf
2 changed files with 39 additions and 0 deletions
|
@ -11,6 +11,7 @@ try:
|
|||
from wuttjamaican.db import util as mod
|
||||
from wuttjamaican.db.model.base import Setting
|
||||
from wuttjamaican.util import make_true_uuid
|
||||
from wuttjamaican.testing import DataTestCase
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
|
@ -124,3 +125,17 @@ else:
|
|||
self.assertIsInstance(column, sa.Column)
|
||||
self.assertIsInstance(column.type, sa.String)
|
||||
self.assertEqual(column.type.length, 32)
|
||||
|
||||
|
||||
class TestMakeTopoSortkey(DataTestCase):
|
||||
|
||||
def test_basic(self):
|
||||
model = self.app.model
|
||||
sortkey = mod.make_topo_sortkey(model)
|
||||
original = ['User', 'Person', 'UserRole', 'Role']
|
||||
|
||||
# models are sorted so dependants come later
|
||||
result = sorted(original, key=sortkey)
|
||||
self.assertTrue(result.index('Role') < result.index('UserRole'))
|
||||
self.assertTrue(result.index('User') < result.index('UserRole'))
|
||||
self.assertTrue(result.index('Person') < result.index('User'))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue