[Groonga-commit] droonga/express-droonga at b9746ba [master] search: accept array for sort_by

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Mar 26 23:08:20 JST 2014


Kouhei Sutou	2014-03-26 23:08:20 +0900 (Wed, 26 Mar 2014)

  New Revision: b9746ba47f0a9a21230a151d48ba6e403439e734
  https://github.com/droonga/express-droonga/commit/b9746ba47f0a9a21230a151d48ba6e403439e734

  Message:
    search: accept array for sort_by

  Modified files:
    lib/adapter/api/rest-request-builder.js
    test/rest-request-builder.test.js

  Modified: lib/adapter/api/rest-request-builder.js (+1 -1)
===================================================================
--- lib/adapter/api/rest-request-builder.js    2014-03-25 16:54:19 +0900 (953f10c)
+++ lib/adapter/api/rest-request-builder.js    2014-03-26 23:08:20 +0900 (8d27795)
@@ -75,7 +75,7 @@ function buildSearchQuery(tableName, queryParams) {
   if ('offset' in queryParams)
     query.output.offset = getIntegerValue(queryParams, 'offset');
   if ('sort_by' in queryParams)
-    query.sortBy = queryParams.sort_by.split(',');
+    query.sortBy = getArrayValue(queryParams, 'sort_by');
 
   return query;
 }

  Modified: test/rest-request-builder.test.js (+31 -0)
===================================================================
--- test/rest-request-builder.test.js    2014-03-25 16:54:19 +0900 (466d03e)
+++ test/rest-request-builder.test.js    2014-03-26 23:08:20 +0900 (759ae15)
@@ -149,6 +149,37 @@ suite('building message from REST adapter request', function() {
     });
 
     // TODO: split test file
+    suite('sort_by', function() {
+      var request;
+
+      setup(function () {
+        request = {
+          params: {
+            tableName: 'Memos'
+          },
+          query: {
+          }
+        };
+      });
+
+      function buildSortByQuery(sort_by) {
+        var name = 'memos';
+        request.query.sort_by = sort_by;
+        return builders.search(request).queries[name];
+      };
+
+      test('string', function() {
+        assert.equalJSON(buildSortByQuery('-_score,title').sortBy,
+                         ['-_score', 'title']);
+      });
+
+      test('array', function() {
+        assert.equalJSON(buildSortByQuery(['-_score', 'title']).sortBy,
+                         ['-_score', 'title']);
+      });
+    });
+
+    // TODO: split test file
     suite('group_by', function() {
       var request;
 
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index