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

Reply via email to