Moved server unit tests into the server folder
- this is a small part of a bit of cleanup of our test files - the goal is to make the existing tests clearer with a view to making it easier to write more tests - this makes the test structure follow the codebase structure more closely - eventually we will colocate the tests as we break the codebase down further
This commit is contained in:
parent
ff4bdb5ff8
commit
6119ccbe90
@ -0,0 +1,107 @@
|
||||
const should = require('should');
|
||||
const sinon = require('sinon');
|
||||
const mail = require('../../../../../core/server/services/mail');
|
||||
const configUtils = require('../../../../utils/configUtils');
|
||||
|
||||
describe('Mail: Utils', function () {
|
||||
const scope = {ghostMailer: null};
|
||||
|
||||
beforeEach(function () {
|
||||
configUtils.set({mail: {transport: 'stub'}});
|
||||
scope.ghostMailer = new mail.GhostMailer();
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
sinon.restore();
|
||||
configUtils.restore();
|
||||
});
|
||||
|
||||
it('generate welcome', function (done) {
|
||||
mail.utils.generateContent({
|
||||
template: 'welcome',
|
||||
data: {
|
||||
ownerEmail: 'test@example.com'
|
||||
}
|
||||
}).then(function (result) {
|
||||
return scope.ghostMailer.send({
|
||||
to: 'test@example.com',
|
||||
subject: 'lol',
|
||||
html: result.html,
|
||||
text: result.text
|
||||
});
|
||||
}).then(function () {
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
|
||||
it('generates newsletter template', function (done) {
|
||||
mail.utils.generateContent({
|
||||
template: 'newsletter',
|
||||
data: {
|
||||
blog: {
|
||||
logo: 'http://myblog.com/content/images/blog-logo.jpg',
|
||||
title: 'The Ghost Blog',
|
||||
url: 'http://myblog.com',
|
||||
twitter: 'http://twitter.com/ghost',
|
||||
facebook: 'https://www.facebook.com/ghost',
|
||||
unsubscribe: 'http://myblog.com/unsubscribe',
|
||||
post: [
|
||||
{
|
||||
picture: 'http://myblog.com/content/images/post-1-image.jpg',
|
||||
title: 'Featured blog post',
|
||||
text: 'This is a featured blog post. It’s awesome…',
|
||||
url: 'http://myblog.com/featured-blog-post',
|
||||
tag: 'featured',
|
||||
author: 'harry potter'
|
||||
},
|
||||
{
|
||||
picture: 'http://myblog.com/content/images/post-2-image.jpg',
|
||||
title: 'Second blog post',
|
||||
text: 'This is the second blog post. It’s also awesome…',
|
||||
url: 'http://myblog.com/second-blog-post',
|
||||
tag: 'second',
|
||||
author: 'lord voldemord'
|
||||
},
|
||||
{
|
||||
picture: 'http://myblog.com/content/images/post-3-image.jpg',
|
||||
title: 'Third blog post',
|
||||
text: 'This is the third blog post. It’s also awesome…',
|
||||
url: 'http://myblog.com/third-blog-post',
|
||||
tag: 'third',
|
||||
author: 'marry poppins'
|
||||
},
|
||||
{
|
||||
picture: 'http://myblog.com/content/images/post-4-image.jpg',
|
||||
title: 'Fourth blog post',
|
||||
text: 'This is the fourth blog post. It’s also awesome…',
|
||||
url: 'http://myblog.com/fourth-blog-post',
|
||||
tag: 'fourth',
|
||||
author: 'donald duck'
|
||||
},
|
||||
{
|
||||
picture: 'http://myblog.com/content/images/post-5-image.jpg',
|
||||
title: 'Fifth blog post',
|
||||
text: 'This is the fifth blog post. It’s also awesome…',
|
||||
url: 'http://myblog.com/fifth-blog-post',
|
||||
tag: 'fifth',
|
||||
author: 'casper the ghost'
|
||||
}
|
||||
]
|
||||
},
|
||||
newsletter: {
|
||||
interval: 'monthly',
|
||||
date: 'june, 9th 2016'
|
||||
}
|
||||
}
|
||||
}).then(function (result) {
|
||||
return scope.ghostMailer.send({
|
||||
to: 'jbloggs@example.com',
|
||||
subject: 'The Newsletter Blog',
|
||||
html: result.html,
|
||||
text: result.text
|
||||
});
|
||||
}).then(function () {
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue
Block a user