Files
meanTorrent/modules/articles/tests/server/article.server.model.tests.js
aanev d72da37e9b feat(articles): Promisifies article server test set up and clean up (#1774)
Promisifies object creation in beforeEach and afterEach hooks in article server tests.

Fixes #1773
2017-06-12 11:19:11 +03:00

72 lines
1.4 KiB
JavaScript

'use strict';
/**
* Module dependencies.
*/
var should = require('should'),
mongoose = require('mongoose'),
User = mongoose.model('User'),
Article = mongoose.model('Article');
/**
* Globals
*/
var user,
article;
/**
* Unit tests
*/
describe('Article Model Unit Tests:', function () {
beforeEach(function (done) {
user = new User({
firstName: 'Full',
lastName: 'Name',
displayName: 'Full Name',
email: 'test@test.com',
username: 'username',
password: 'M3@n.jsI$Aw3$0m3',
provider: 'local'
});
user.save()
.then(function () {
article = new Article({
title: 'Article Title',
content: 'Article Content',
user: user
});
done();
})
.catch(done);
});
describe('Method Save', function () {
it('should be able to save without problems', function (done) {
this.timeout(10000);
article.save(function (err) {
should.not.exist(err);
return done();
});
});
it('should be able to show an error when try to save without title', function (done) {
article.title = '';
article.save(function (err) {
should.exist(err);
return done();
});
});
});
afterEach(function (done) {
Article.remove().exec()
.then(User.remove().exec())
.then(done())
.catch(done);
});
});