It will use the sqlite database for mocked database, will recreate it for database.
Can be integrated with Mocha and Jasmine.
/** * Test around the @{UserService} * *@module test/user/service */'use strict';constchai=require('chai');constsinon=require('sinon');constpath=require('path');constsequelizeMockingMocha=require('sequelize-mocking').sequelizeMockingMocha;describe('User - UserService (using sequelizeMockingMocha) - ',function(){constDatabase=require('../../lib/database');constUserService=require('../../lib/user/service');constUserModel=require('../../lib/user/model');// Basic configuration: create a sinon sandbox for testingletsandbox=null;beforeEach(function(){sandbox=sinon.sandbox.create();});afterEach(function(){sandbox&&sandbox.restore();});// Load fake data for the userssequelizeMockingMocha(Database.getInstance(),path.resolve(path.join(__dirname,'./fake-users-database.json')),/* Or load array of files [ path.resolve(path.join(__dirname, './fake-users-database.json')), path.resolve(path.join(__dirname, './fake-candy-database.json')), ] */{'logging':false});it('the service shall exist',function(){chai.expect(UserService).to.exist;});describe('and the method findAll shall ',function(){it('exist',function(){chai.expect(UserService.findAll).to.exist;});it('shall returns an array of user',function(){returnUserService.findAll().then(function(users){chai.expect(users).deep.equals([{'id':1,'firstName':'John','lastName':'Doe','age':25,'description':null}]);});});});describe('and the method find shall ',function(){it('exist',function(){chai.expect(UserService.find).to.exist;});it('shall return a user if we can',function(){letfindByIdSpy=sandbox.spy(UserModel,'findById');returnUserService.find(1).then(function(user){chai.expect(findByIdSpy.called).to.be.true;chai.expect(findByIdSpy.calledOnce).to.be.true;chai.expect(findByIdSpy.calledWith(1)).to.be.true;chai.expect(user).deep.equals({'id':1,'firstName':'John','lastName':'Doe','age':25,'description':null});});});it('shall return null if not found',function(){returnUserService.find(-1).then(function(user){chai.expect(user).to.be.null;});});});});[ {"model":"user","data": {"id":1,"firstName":"John","lastName":"Doe","age":25,"description":null } }]