2017-05-09 23:40:02 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const config = require('../helpers/config');
|
2017-05-23 02:15:32 +00:00
|
|
|
const webBase = require('./web');
|
|
|
|
const mailBase = require('./mail');
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 17:34:01 +00:00
|
|
|
module.exports = list => {
|
2017-05-10 10:44:48 +00:00
|
|
|
|
2017-05-23 17:34:01 +00:00
|
|
|
const web = params => webBase(params);
|
|
|
|
const mail = params => mailBase(params);
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
return {
|
|
|
|
webSubscribe: web({
|
|
|
|
url: `/subscription/${list.cid}`,
|
|
|
|
elementToWaitFor: 'form',
|
|
|
|
elements: {
|
|
|
|
form: `form[action="/subscription/${list.cid}/subscribe"]`,
|
|
|
|
emailInput: '#main-form input[name="email"]',
|
2017-05-23 17:34:01 +00:00
|
|
|
firstNameInput: '#main-form input[name="first-name"]',
|
|
|
|
lastNameInput: '#main-form input[name="last-name"]',
|
2017-05-23 02:15:32 +00:00
|
|
|
submitButton: 'a[href="#submit"]'
|
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
webConfirmSubscriptionNotice: web({
|
|
|
|
url: `/subscription/${list.cid}/confirm-subscription-notice`,
|
|
|
|
elementToWaitFor: 'homepageButton',
|
|
|
|
elements: {
|
|
|
|
homepageButton: `a[href="${config.settings['default-homepage']}"]`
|
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
mailConfirmSubscription: mail({
|
|
|
|
elementToWaitFor: 'confirmLink',
|
|
|
|
elements: {
|
|
|
|
confirmLink: `a[href^="${config.settings['service-url']}subscription/confirm/subscribe/"]`
|
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
webSubscribedNotice: web({
|
|
|
|
url: `/subscription/${list.cid}/subscribed-notice`,
|
|
|
|
elementToWaitFor: 'homepageButton',
|
|
|
|
elements: {
|
|
|
|
homepageButton: `a[href="${config.settings['default-homepage']}"]`
|
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
mailSubscriptionConfirmed: mail({
|
|
|
|
elementToWaitFor: 'unsubscribeLink',
|
|
|
|
elements: {
|
|
|
|
unsubscribeLink: `a[href^="${config.settings['service-url']}subscription/${list.cid}/unsubscribe/"]`,
|
|
|
|
manageLink: `a[href^="${config.settings['service-url']}subscription/${list.cid}/manage/"]`
|
2017-05-23 17:34:01 +00:00
|
|
|
},
|
|
|
|
links: {
|
|
|
|
unsubscribeLink: `/subscription/${list.cid}/unsubscribe/:ucid`,
|
|
|
|
manageLink: `/subscription/${list.cid}/manage/:ucid`
|
|
|
|
}
|
|
|
|
}),
|
|
|
|
|
|
|
|
webManage: web({
|
|
|
|
url: `/subscription/${list.cid}/manage/:ucid`,
|
|
|
|
elementToWaitFor: 'form',
|
|
|
|
elements: {
|
|
|
|
form: `form[action="/subscription/${list.cid}/manage"]`,
|
|
|
|
emailInput: '#main-form input[name="email"]',
|
|
|
|
firstNameInput: '#main-form input[name="first-name"]',
|
|
|
|
lastNameInput: '#main-form input[name="last-name"]',
|
|
|
|
submitButton: 'a[href="#submit"]'
|
2017-05-23 02:15:32 +00:00
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 17:34:01 +00:00
|
|
|
webUpdatedNotice: web({
|
|
|
|
url: `/subscription/${list.cid}/updated-notice`,
|
|
|
|
elementToWaitFor: 'homepageButton',
|
|
|
|
elements: {
|
|
|
|
homepageButton: `a[href="${config.settings['default-homepage']}"]`
|
|
|
|
}
|
|
|
|
}),
|
|
|
|
|
|
|
|
/*
|
2017-05-23 02:15:32 +00:00
|
|
|
webUnsubscribe: web({ // FIXME
|
|
|
|
elementToWaitFor: 'submitButton',
|
|
|
|
elements: {
|
|
|
|
submitButton: 'a[href="#submit"]'
|
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
webUnsubscribedNotice: web({
|
|
|
|
url: `/subscription/${list.cid}/unsubscribed-notice`,
|
|
|
|
elementToWaitFor: 'homepageButton',
|
|
|
|
elements: {
|
|
|
|
homepageButton: `a[href="${config.settings['default-homepage']}"]`
|
|
|
|
}
|
|
|
|
}),
|
2017-05-09 23:40:02 +00:00
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
mailUnsubscriptionConfirmed: mail({
|
|
|
|
elementToWaitFor: 'resubscribeLink',
|
|
|
|
elements: {
|
|
|
|
resubscribeLink: `a[href^="${config.settings['service-url']}subscription/${list.cid}"]`
|
|
|
|
}
|
|
|
|
}),
|
2017-05-23 17:34:01 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
2017-05-23 02:15:32 +00:00
|
|
|
};
|
|
|
|
};
|