sequelize-mocking
Version:
A Sequelize extension to deal with mocking for tests
51 lines (43 loc) • 1.49 kB
JavaScript
/**
* Using SequelizeMocking with jasmine easily
*
* @module lib/sequelize-mocking-jasmine
* @exports sequelizeMochingJasmine
* @version 0.1.0
* @since 0.1.0
* @author Julien Roche
*/
;
// Imports
const _ = require('lodash');
const SequelizeMocking = require('./sequelize-mocking');
/**
* @name sequelizeMochingMocha
* @param {Sequelize} originalSequelize
* @param {string} [fixtureFilePath]
* @param {SequelizeMockingOptions} [options]
*/
module.exports = function (originalSequelize, fixtureFilePath, options) {
let beforeEach = global.beforeEach ? global.beforeEach : null;
let afterEach = global.afterEach ? global.afterEach : null;
if (beforeEach && afterEach) {
let mockedSequelize = null;
beforeEach(function (done) {
let createFunc = _.partialRight(fixtureFilePath ? SequelizeMocking.createAndLoadFixtureFile : SequelizeMocking.create, options);
createFunc(originalSequelize, fixtureFilePath)
.then(function (sequelizeInstance) {
mockedSequelize = sequelizeInstance;
done();
})
.catch(done.fail);
});
afterEach(function (done) {
SequelizeMocking
.restore(mockedSequelize, options)
.then(function () {
done();
})
.catch(done.fail);
});
}
};