BearND has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/381507 )
Change subject: Add fundraising test via announcement cards in France ...................................................................... Add fundraising test via announcement cards in France Changed wiki project check from enwiki to frwiki. To test ahead of time: temporarily change start_time to be earlier. On client make sure that geoip country code is faked to be "FR". MCS directly: http://0.0.0.0:6927/fr.wikipedia.org/v1/feed/announcements MCS through RESTBase: http://0.0.0.0:7231/fr.wikipedia.org/v1/feed/announcements Bug: T177001 Change-Id: Ib549ea139bc5c68b9583e4423003f82339aa885e --- M lib/mobile-util.js M routes/announcements.js M spec.yaml M test/features/announcements/announcements.js 4 files changed, 64 insertions(+), 75 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps refs/changes/07/381507/1 diff --git a/lib/mobile-util.js b/lib/mobile-util.js index ac49997..80564c6 100644 --- a/lib/mobile-util.js +++ b/lib/mobile-util.js @@ -116,6 +116,10 @@ return (domain === 'en.wikipedia.org' || domain === 'en.wikipedia.beta.wmflabs.org'); }; +mUtil.isFrenchWikipedia = function(domain) { + return (domain === 'fr.wikipedia.org'); +}; + mUtil.removeFragment = function(href) { if (href.indexOf('#') > -1) { return href.substring(0, href.indexOf('#')); diff --git a/routes/announcements.js b/routes/announcements.js index 003d3c0..4e522da 100644 --- a/routes/announcements.js +++ b/routes/announcements.js @@ -8,62 +8,54 @@ */ const router = sUtil.router(); -/* eslint-disable max-len */ -function getEnwikiAnnouncements() { +function getFrwikiAnnouncements() { // Notes: for iOS 'text' and 'action.title': HTML is not supported. // iOS uses image_url instead of the image Android uses. + // iOS caption_HTML should be wrapped in <p> tag. + + // image_url: "https://upload.wikimedia.org/wikipedia/commons/8/8f/Reading_list_survey_-_iOS.png", + + // image: "https://upload.wikimedia.org/wikipedia/commons/5/52/Reading_list_survey.png", + return [ - // { - // id: "EN0517SURVEYIOS", - // type: "survey", - // start_time: "2017-05-26T00:00:00Z", - // end_time: "2017-05-29T00:00:00Z", - // platforms: [ - // "iOSApp", - // ], - // text: "Hi iOS readers,\n\nHave you been using save for later? Help us learn more about how you are using this saved articles feature by taking a short survey, so that we can continue making reading lists even better.", // eslint-disable-line max-len - // image_url: "https://upload.wikimedia.org/wikipedia/commons/8/8f/Reading_list_survey_-_iOS.png", - // action: { - // title: "Take survey", - // url: "https://docs.google.com/a/wikimedia.org/forms/d/e/1FAIpQLScYphlKSI5DCZAkdgC3QfzqZbpj3q3ohuvF8zptO-p5j-xDRA/viewform" - // }, - // caption_HTML: "<p>Hosted by a third-party service. See the <a href=\"https://m.wikimediafoundation.org/wiki/Mobile_User_Testing_Recruitment_Survey_Privacy_Statement\">privacy statement</a> for information on data handling.</p>", - // countries: [ - // "US", - // "CA", - // "GB", - // "IE", - // "AU", - // "NZ" - // ] - // }, - // { - // id: "EN0517SURVEYANDROID", - // type: "survey", - // start_time: "2017-05-26T00:00:00Z", - // end_time: "2017-05-29T00:00:00Z", - // platforms: [ - // "AndroidApp" - // ], - // text: "Hi Android readers,<br><br>Have you been using <b>reading lists</b>? Help us learn more about how you are using them by taking a short survey, so that we can continue making reading lists even better.", // eslint-disable-line max-len - // image: "https://upload.wikimedia.org/wikipedia/commons/5/52/Reading_list_survey.png", - // action: { - // title: "Take survey", - // url: "https://docs.google.com/a/wikimedia.org/forms/d/e/1FAIpQLSeAbWTd9G4GTzAHJtV55HmC6I-LC3as0zWTCneGuLyj3Z6gMw/viewform" - // }, - // caption_HTML: "Survey powered by 3rd-party service. See <a href=\"https://m.wikimediafoundation.org/wiki/Mobile_User_Testing_Recruitment_Survey_Privacy_Statement\">privacy statement</a>.", - // countries: [ - // "US", - // "CA", - // "GB", - // "IE", - // "AU", - // "NZ" - // ] - // } + { + id: "FR1017FRIOS", + type: "fundraising", + start_time: "2017-10-03T00:00:00Z", + end_time: "2017-10-17T00:00:00Z", + platforms: [ + "iOSApp", + ], + text: "Le moment est venu de faire appel à vous.\n\nChers lecteurs en France, nous irons droit au but : aujourd’hui, nous vous demandons d’aider Wikipédia. Afin de protéger notre indépendance, nous ne diffuserons jamais de publicité. Nous sommes soutenus par des dons d’environ 10 € en moyenne. Nos lecteurs sont très peu nombreux à faire des dons. Si chaque personne qui lit ce message donnait 2 €, cela permettrait à Wikipédia de continuer à prospérer de nombreuses années. Le prix d’un café, c’est tout ce dont nous avons besoin. Si Wikipédia vous est utile, prenez une minute afin de maintenir cette plate-forme en ligne et lui permettre de continuer de croître. Merci.", // eslint-disable-line max-len + action: { + title: "Continuer", + url: "https://donate.wikimedia.org/?uselang=fr&utm_medium=WikipediaAppFeed&utm_campaign=iOS&utm_source=app_201710_FR_control" + }, + caption_HTML: "<p><a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Problems_donating&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Un problème pour faire un don ?</a> | <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Autres façons de donner</a> | <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Questions fréquentes</a> | En faisant ce don, vous acceptez notre <a href='https://wikimediafoundation.org/wiki/Donor_privacy_policy/fr'>politique de confidentialité en matière de donation</a> ainsi que de partager vos données personnelles avec la <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_Deductibility&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Wikimedia Foundation</a> et ses prestataires de services situés aux États-Unis et ailleurs. Si vous faites un versement périodique, vous serez débité à chaque échéance par la Wikimedia Foundation jusqu’à ce que vous nous indiquiez d’arrêter. Nous vous enverrons une confirmation par courriel pour chaque paiement, qui inclura un lien vers <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Cancel_or_change_recurring_payments&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>des instructions faciles d’annulation</a>.</p>", + countries: [ + "FR" + ] + }, + { + id: "FR1017FRANDROID", + type: "fundraising", + start_time: "2017-10-03T00:00:00Z", + end_time: "2017-10-17T00:00:00Z", + platforms: [ + "AndroidApp" + ], + text: "Le moment est venu de faire appel à vous.<br><br>Chers lecteurs en France, nous irons droit au but : aujourd’hui, nous vous demandons d’aider Wikipédia. Afin de protéger notre indépendance, nous ne diffuserons jamais de publicité. Nous sommes soutenus par des dons d’environ 10 € en moyenne. Nos lecteurs sont très peu nombreux à faire des dons. Si chaque personne qui lit ce message donnait 2 €, cela permettrait à Wikipédia de continuer à prospérer de nombreuses années. Le prix d’un café, c’est tout ce dont nous avons besoin. Si Wikipédia vous est utile, prenez une minute afin de maintenir cette plate-forme en ligne et lui permettre de continuer de croître. Merci.", // eslint-disable-line max-len + action: { + title: "Continuer", + url: "https://donate.wikimedia.org/?uselang=fr&utm_medium=WikipediaAppFeed&utm_campaign=Android&utm_source=app_201710_FR_control" + }, + caption_HTML: "<a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Problems_donating&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Un problème pour faire un don ?</a> | <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Ways_to_Give&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Autres façons de donner</a> | <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=FAQ&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Questions fréquentes</a> | En faisant ce don, vous acceptez notre <a href='https://wikimediafoundation.org/wiki/Donor_privacy_policy/fr'>politique de confidentialité en matière de donation</a> ainsi que de partager vos données personnelles avec la <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Tax_Deductibility&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>Wikimedia Foundation</a> et ses prestataires de services situés aux États-Unis et ailleurs. Si vous faites un versement périodique, vous serez débité à chaque échéance par la Wikimedia Foundation jusqu’à ce que vous nous indiquiez d’arrêter. Nous vous enverrons une confirmation par courriel pour chaque paiement, qui inclura un lien vers <a href='https://wikimediafoundation.org/wiki/Special:LandingCheck?basic=true&landing_page=Cancel_or_change_recurring_payments&country=FR&language=fr&uselang=fr&utm_medium=sitenotice&utm_campaign=test&utm_source=frFR_dsk_p1_lg_control_17_09_14'>des instructions faciles d’annulation</a>.", + countries: [ + "FR" + ] + } ]; } -/* eslint-enable max-len */ /** * GET /announcements @@ -71,7 +63,7 @@ */ router.get('/announcements', (req, res) => { const json = { - announce: mUtil.isEnglishWikipedia(req.params.domain) ? getEnwikiAnnouncements() : [] + announce: mUtil.isFrenchWikipedia(req.params.domain) ? getFrwikiAnnouncements() : [] }; const hash = mUtil.hashCode(JSON.stringify(json)); diff --git a/spec.yaml b/spec.yaml index 164553d..14f3602 100644 --- a/spec.yaml +++ b/spec.yaml @@ -85,18 +85,18 @@ headers: content-type: application/json body: - announce: [] -# - id: /.+/ -# type: /.+/ -# start_time: /.+/ -# end_time: /.+/ -# platforms: [ /.+/ ] -# text: /.+/ -# action: -# title: /.+/ -# url: /.+/ -# caption_HTML: /.+/ -# countries: [ /.+/ ] + announce: + - id: /.+/ + type: /.+/ + start_time: /.+/ + end_time: /.+/ + platforms: [ /.+/ ] + text: /.+/ + action: + title: /.+/ + url: /.+/ + caption_HTML: /.+/ + countries: [ /.+/ ] # from routes/compilations.js /{domain}/v1/compilations: diff --git a/test/features/announcements/announcements.js b/test/features/announcements/announcements.js index 6018cf1..e792dda 100644 --- a/test/features/announcements/announcements.js +++ b/test/features/announcements/announcements.js @@ -37,21 +37,14 @@ }); }); - it('should return 0 surveys', () => { + it('should return 2 announcements', () => { return preq.get({ uri: `${server.config.uri}en.wikipedia.org/v1/feed/announcements` }) .then((res) => { - assert.ok(res.body.announce.length === 0); + assert.ok(res.body.announce.length === 2); + assert.equal(res.body.announce[0].id, 'FR1017FRIOS'); + assert.equal(res.body.announce[1].id, 'FR1017FRANDROID'); }); }); - - // it('should return 2 surveys', () => { - // return preq.get({ uri: `${server.config.uri}en.wikipedia.org/v1/feed/announcements` }) - // .then((res) => { - // assert.ok(res.body.announce.length === 2); - // assert.equal(res.body.announce[0].id, 'EN0517SURVEYIOS'); - // assert.equal(res.body.announce[1].id, 'EN0517SURVEYANDROID'); - // }); - // }); it('should return empty object for other wikis', () => { return preq.get({ uri: `${server.config.uri}de.wikipedia.org/v1/feed/announcements` }) -- To view, visit https://gerrit.wikimedia.org/r/381507 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib549ea139bc5c68b9583e4423003f82339aa885e 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
