Skip to content

Commit

Permalink
feat(JOB-170): add context to emails for subscribers
Browse files Browse the repository at this point in the history
  • Loading branch information
VictorEnaud committed Nov 28, 2017
1 parent 7dfa308 commit 0eb2227
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 17 deletions.
3 changes: 2 additions & 1 deletion server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
"jsonwebtoken": "^7.4.2",
"lodash": "^4.17.4",
"lru-cache": "^4.1.1",
"moment": "^2.18.1",
"morgan": "^1.8.2",
"node-mailjet": "^3.2.1",
"node-schedule": "^1.2.4",
Expand All @@ -43,7 +44,7 @@
"sequelize": "^4.4.4",
"sequelize-cli": "^2.8.0",
"serve-favicon": "~2.4.3",
"sqlite3": "^3.1.9"
"sqlite3": "^3.1.13"
},
"devDependencies": {
"chai": "^4.1.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
const { isEmpty } = require('lodash');
const moment = require('moment');

module.exports = {
compile(model) {
Expand All @@ -11,7 +12,8 @@ module.exports = {
template += `${addedJobs.length} nouvelle(s) mission(s) à staffer :`;
template += '<ul>';
addedJobs.forEach((job) => {
template += `<li><bold>${job.activity.title}</bold> pour le projet ${job.project.name}</li>`;
const formatedDate = moment(job.activity.staffing_needed_from).format('DD/MM/YYYY');
template += `<li><bold>${job.activity.title}</bold> pour le projet ${job.project.name} pour le client ${job.project.customer.name} à partir du ${formatedDate}</li>`;
});
template += '</ul>';
template += '</p>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,21 @@ const jobsChangedEmailTemplate = require('../../../../src/infrastructure/mailing

describe('Unit | Infrastructure | Mailing | jobs-changed-email-template', () => {
describe('#compile', () => {
const addedJob1 = { project: { name: 'p1' }, activity: { title: 'a1' } };
const addedJob2 = { project: { name: 'p2' }, activity: { title: 'a2' } };
const addedJob3 = { project: { name: 'p3' }, activity: { title: 'a3' } };
const addedJob1 = {
project: { name: 'project_name_1', customer: { name: 'customer_name_1' } },
activity: { title: 'job_title_1', staffing_needed_from: '2018-01-10' },
};
const addedJob2 = {
project: { name: 'project_name_2', customer: { name: 'customer_name_2' } },
activity: { title: 'job_title_2', staffing_needed_from: '2018-02-20' },
};
const addedJob3 = {
project: { name: 'project_name_3', customer: { name: 'customer_name_3' } },
activity: { title: 'job_title_3', staffing_needed_from: '2018-03-30' },
};

const removedJobA = { project: { name: 'p4' }, activity: { title: 'a4' } };
const removedJobB = { project: { name: 'p5' }, activity: { title: 'a5' } };
const removedJobA = { project: { name: 'project_name_4' }, activity: { title: 'job_title_4' } };
const removedJobB = { project: { name: 'project_name_5' }, activity: { title: 'job_title_5' } };

it('should compute the good rendering', () => {
// given
Expand All @@ -25,14 +34,14 @@ describe('Unit | Infrastructure | Mailing | jobs-changed-email-template', () =>
'<p>Il y a du nouveau du côté du <a href="https://jobs.octo.com">Job Board</a>.</p>' +
'<p>3 nouvelle(s) mission(s) à staffer :' +
'<ul>' +
'<li><bold>a1</bold> pour le projet p1</li>' +
'<li><bold>a2</bold> pour le projet p2</li>' +
'<li><bold>a3</bold> pour le projet p3</li>' +
'<li><bold>job_title_1</bold> pour le projet project_name_1 pour le client customer_name_1 à partir du 10/01/2018</li>' +
'<li><bold>job_title_2</bold> pour le projet project_name_2 pour le client customer_name_2 à partir du 20/02/2018</li>' +
'<li><bold>job_title_3</bold> pour le projet project_name_3 pour le client customer_name_3 à partir du 30/03/2018</li>' +
'</ul></p>' +
'<p>2 mission(s) retirée(s) :' +
'<ul>' +
'<li><bold>a4</bold> pour le projet p4</li>' +
'<li><bold>a5</bold> pour le projet p5</li>' +
'<li><bold>job_title_4</bold> pour le projet project_name_4</li>' +
'<li><bold>job_title_5</bold> pour le projet project_name_5</li>' +
'</ul>' +
'</p>' +
'<p>Pour ne plus recevoir de nouvelles du Job Board, il est possible de <a href="https://jobs.octo.com/#/unsubscribe">se désabonner du Job Board</a>.</p>';
Expand All @@ -54,8 +63,8 @@ describe('Unit | Infrastructure | Mailing | jobs-changed-email-template', () =>
'<p>Il y a du nouveau du côté du <a href="https://jobs.octo.com">Job Board</a>.</p>' +
'<p>2 mission(s) retirée(s) :' +
'<ul>' +
'<li><bold>a4</bold> pour le projet p4</li>' +
'<li><bold>a5</bold> pour le projet p5</li>' +
'<li><bold>job_title_4</bold> pour le projet project_name_4</li>' +
'<li><bold>job_title_5</bold> pour le projet project_name_5</li>' +
'</ul>' +
'</p>' +
'<p>Pour ne plus recevoir de nouvelles du Job Board, il est possible de <a href="https://jobs.octo.com/#/unsubscribe">se désabonner du Job Board</a>.</p>';
Expand All @@ -77,9 +86,9 @@ describe('Unit | Infrastructure | Mailing | jobs-changed-email-template', () =>
'<p>Il y a du nouveau du côté du <a href="https://jobs.octo.com">Job Board</a>.</p>' +
'<p>3 nouvelle(s) mission(s) à staffer :' +
'<ul>' +
'<li><bold>a1</bold> pour le projet p1</li>' +
'<li><bold>a2</bold> pour le projet p2</li>' +
'<li><bold>a3</bold> pour le projet p3</li>' +
'<li><bold>job_title_1</bold> pour le projet project_name_1 pour le client customer_name_1 à partir du 10/01/2018</li>' +
'<li><bold>job_title_2</bold> pour le projet project_name_2 pour le client customer_name_2 à partir du 20/02/2018</li>' +
'<li><bold>job_title_3</bold> pour le projet project_name_3 pour le client customer_name_3 à partir du 30/03/2018</li>' +
'</ul>' +
'</p>' +
'<p>Pour ne plus recevoir de nouvelles du Job Board, il est possible de <a href="https://jobs.octo.com/#/unsubscribe">se désabonner du Job Board</a>.</p>';
Expand Down

0 comments on commit 0eb2227

Please sign in to comment.