[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: News: don't include empty stories

2018-01-04 Thread jenkins-bot (Code Review)
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 
Gerrit-Reviewer: Fjalapeno 
Gerrit-Reviewer: Jdlrobson 
Gerrit-Reviewer: Mholloway 
Gerrit-Reviewer: Mhurd 
Gerrit-Reviewer: Ppchelko 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] mediawiki...mobileapps[master]: News: don't include empty stories

2018-01-04 Thread BearND (Code Review)
BearND has uploaded a new change for review. ( 
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/news.js
M test/features/news/news.js
2 files changed, 9 insertions(+), 7 deletions(-)


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

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`,

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia2e7c4cc61cbb99e2fa0f5af355ba5cf837f0401
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits