diff options
Diffstat (limited to 'tests/units/model/context.py')
-rwxr-xr-x | tests/units/model/context.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/units/model/context.py b/tests/units/model/context.py index b48db6f..f2de64d 100755 --- a/tests/units/model/context.py +++ b/tests/units/model/context.py @@ -5,7 +5,9 @@ from os.path import exists from __init__ import tests +from sugar_network import db from sugar_network.node import obs +from sugar_network.model.context import Context from sugar_network.client import IPCConnection from sugar_network.toolkit import coroutine, enforce @@ -57,6 +59,25 @@ class ContextTest(tests.Test): assert exists('master/context/gu/guid/icon.blob') assert exists('master/context/gu/guid/preview.blob') + def test_RatingSort(self): + directory = db.Volume('db', [Context])['context'] + + directory.create({'guid': '1', 'type': 'activity', 'title': '', 'summary': '', 'description': '', 'rating': [0, 0]}) + directory.create({'guid': '2', 'type': 'activity', 'title': '', 'summary': '', 'description': '', 'rating': [1, 2]}) + directory.create({'guid': '3', 'type': 'activity', 'title': '', 'summary': '', 'description': '', 'rating': [1, 4]}) + directory.create({'guid': '4', 'type': 'activity', 'title': '', 'summary': '', 'description': '', 'rating': [10, 10]}) + directory.create({'guid': '5', 'type': 'activity', 'title': '', 'summary': '', 'description': '', 'rating': [30, 90]}) + + self.assertEqual( + ['1', '2', '3', '4', '5'], + [i.guid for i in directory.find()[0]]) + self.assertEqual( + ['1', '4', '2', '5', '3'], + [i.guid for i in directory.find(order_by='rating')[0]]) + self.assertEqual( + ['3', '5', '2', '4', '1'], + [i.guid for i in directory.find(order_by='-rating')[0]]) + if __name__ == '__main__': tests.main() |