Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/units/model/context.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/model/context.py')
-rwxr-xr-xtests/units/model/context.py21
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()