jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/402083 )

Change subject: News: don't include empty stories
......................................................................


News: don't include empty stories

Bug: T184198
Change-Id: Ia2e7c4cc61cbb99e2fa0f5af355ba5cf837f0401
---
M lib/feed/announcements.js
M lib/feed/news.js
M test/features/news/news.js
M test/lib/feed/announcements.js
4 files changed, 20 insertions(+), 10 deletions(-)

Approvals:
  jenkins-bot: Verified
  Mholloway: Looks good to me, approved



diff --git a/lib/feed/announcements.js b/lib/feed/announcements.js
index 5e3a956..98f7dcc 100644
--- a/lib/feed/announcements.js
+++ b/lib/feed/announcements.js
@@ -1,6 +1,7 @@
 'use strict';
 
 const config = require('../../etc/feed/announcements');
+const HTTPError = require('../util').HTTPError;
 
 /**
  * Builds the body text for iOS. Note: HTML is not supported by iOS clients!
@@ -85,7 +86,12 @@
 function hasEnded(now) {
     const endDate = Date.parse(config.endTime);
     if (isNaN(endDate)) {
-        return true; // end right away if config.endTime is invalid
+        throw new HTTPError({
+            status: 500,
+            type: 'config_error',
+            title: 'invalid end date in announcements config',
+            detail: config.endTime
+        });
     }
     return now > endDate;
 }
diff --git a/lib/feed/news.js b/lib/feed/news.js
index eea1715..d81d261 100644
--- a/lib/feed/news.js
+++ b/lib/feed/news.js
@@ -25,7 +25,11 @@
     });
 
     story.story = storyHtml.innerHTML;
-    return story;
+    if (story.story.length > 0 && story.links.length > 0) {
+        return story;
+    } else {
+        return undefined;
+    }
 }
 
 function promise(app, req) {
@@ -55,8 +59,10 @@
         };
 
         Array.prototype.forEach.call(headlines, (storyHtml) => {
-            result.payload.push(constructStory(app.restbase_tpl, 
req.params.domain, lang,
-                storyHtml));
+            const story = constructStory(app.restbase_tpl, req.params.domain, 
lang, storyHtml);
+            if (story) {
+                result.payload.push(story);
+            }
         });
 
         return result;
diff --git a/test/features/news/news.js b/test/features/news/news.js
index d554811..36f9997 100644
--- a/test/features/news/news.js
+++ b/test/features/news/news.js
@@ -50,10 +50,6 @@
     before(() => { return server.start(); });
 
     for (const lang in NEWS_TEMPLATES) {
-        if (lang === 'fr') {
-            continue; // TODO: unskip testing french news today
-        }
-
         if ({}.hasOwnProperty.call(NEWS_TEMPLATES, lang)) {
             it(`${lang}: should respond with expected headers, incl. CORS and 
CSP headers`, () => {
                 return 
checkHeaders(`${server.config.uri}${lang}.wikipedia.org/v1/page/news`,
diff --git a/test/lib/feed/announcements.js b/test/lib/feed/announcements.js
index b133c8a..d6934a1 100644
--- a/test/lib/feed/announcements.js
+++ b/test/lib/feed/announcements.js
@@ -93,8 +93,10 @@
 
     describe('.hasEnded', () => {
         it('invalid endTime', () => {
-            config.endTime = 'DISABLED';
-            assert.ok(mut.testing.hasEnded());
+            config.endTime = 'INVALID';
+            assert.throws(() => {
+                mut.testing.hasEnded(Date(Date.UTC(2030, 5, 1)));
+            }, /config_error/);
         });
 
         it('endTime has passed', () => {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia2e7c4cc61cbb99e2fa0f5af355ba5cf837f0401
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>
Gerrit-Reviewer: Fjalapeno <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Mhurd <[email protected]>
Gerrit-Reviewer: Ppchelko <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to