BearND has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/298243

Change subject: Insert items array into random/title response
......................................................................

Insert items array into random/title response

RB page/title/{title} endpoint emits the title in an object wrapped in an items 
array.
Let's do the same for consistency sake, and also that we can have compatible 
output
when running the endpoints in RB vs. directly using MCS. See T132597#2446358 
for discussion.

As a bonus, I've split up the tests for our random endpoints into two files. 
One per route.

Bug: T132597
Change-Id: I920fed16ad2acc468d4c939bfa0480a4821414cf
---
M lib/mwapi.js
M spec.yaml
R test/features/random/summary.js
A test/features/random/title.js
4 files changed, 36 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps 
refs/changes/43/298243/1

diff --git a/lib/mwapi.js b/lib/mwapi.js
index 67b9ae9..116d281 100644
--- a/lib/mwapi.js
+++ b/lib/mwapi.js
@@ -165,7 +165,11 @@
 
 function buildTitleResponse(pageObj) {
     return {
-        title: pageObj.title
+        items: [
+            {
+                title: pageObj.title
+            }
+        ]
     };
 }
 
diff --git a/spec.yaml b/spec.yaml
index 9359abf..b02fa73 100644
--- a/spec.yaml
+++ b/spec.yaml
@@ -114,7 +114,8 @@
                     pageid: /.+/
                     normalizedtitle: /.+/
               random:
-                title: /.+/
+                items:
+                  - title: /.+/
               news:
                 - story: /.+/
                   links:
@@ -303,7 +304,8 @@
             headers:
               content-type: application/json
             body:
-              title: /.+/
+              items:
+                - title: /.+/
   # from routes/news.js
   /{domain}/v1/page/news:
     get:
diff --git a/test/features/random/pagecontent.js 
b/test/features/random/summary.js
similarity index 74%
rename from test/features/random/pagecontent.js
rename to test/features/random/summary.js
index dabca91..a1233f5 100644
--- a/test/features/random/pagecontent.js
+++ b/test/features/random/summary.js
@@ -5,7 +5,7 @@
 var server = require('../../utils/server.js');
 var headers = require('../../utils/headers.js');
 
-describe('random', function() {
+describe('random/summary', function() {
     this.timeout(20000);
 
     before(function () { return server.start(); });
@@ -13,15 +13,6 @@
     it('should respond to GET request with expected headers, incl. CORS and 
CSP headers', function() {
         return headers.checkHeaders(server.config.uri + 
'en.wikipedia.org/v1/page/random/summary',
             'application/json');
-    });
-
-    it('Random page title should have expected properties', function() {
-        return preq.get({ uri: server.config.uri + 
'de.wikipedia.org/v1/page/random/title' })
-            .then(function(res) {
-                var lead = res.body.lead;
-                assert.deepEqual(res.status, 200);
-                assert.ok(res.body.title.length > 0, 'title should not be 
empty');
-            });
     });
 
     it('Random page summary should have expected properties', function() {
diff --git a/test/features/random/title.js b/test/features/random/title.js
new file mode 100644
index 0000000..c4a41c0
--- /dev/null
+++ b/test/features/random/title.js
@@ -0,0 +1,26 @@
+'use strict';
+
+var assert = require('../../utils/assert.js');
+var preq   = require('preq');
+var server = require('../../utils/server.js');
+var headers = require('../../utils/headers.js');
+
+describe('random/title', function() {
+    this.timeout(20000);
+
+    before(function () { return server.start(); });
+
+    it('should respond to GET request with expected headers, incl. CORS and 
CSP headers', function() {
+        return headers.checkHeaders(server.config.uri + 
'en.wikipedia.org/v1/page/random/title',
+            'application/json');
+    });
+
+    it('Random page title should have expected properties', function() {
+        return preq.get({ uri: server.config.uri + 
'de.wikipedia.org/v1/page/random/title' })
+            .then(function(res) {
+                var lead = res.body.lead;
+                assert.deepEqual(res.status, 200);
+                assert.ok(res.body.items[0].title.length > 0, 'title should 
not be empty');
+            });
+    });
+});

-- 
To view, visit https://gerrit.wikimedia.org/r/298243
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I920fed16ad2acc468d4c939bfa0480a4821414cf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to