四好公路
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.7 KiB

3 years ago
'use strict';
var Sequelize = require('sequelize'),
epilogue = require('../lib'),
expect = require('chai').expect;
describe('Epilogue', function() {
it('should throw an exception when initialized without arguments', function(done) {
expect(epilogue.initialize).to.throw('please specify an app');
done();
});
it('should throw an exception when initialized without a sequelize instance', function(done) {
expect(epilogue.initialize.bind(epilogue, {
app: {}
})).to.throw('please specify a sequelize instance');
done();
});
it('should throw an exception when initialized with an invalid sequelize instance', function(done) {
expect(epilogue.initialize.bind(epilogue, {
app: {},
sequelize: {},
})).to.throw('invalid sequelize instance');
done();
});
it('should throw an exception with an invalid updateMethod', function(done) {
expect(epilogue.initialize.bind(epilogue, {
app: {},
sequelize: {version: 0, STRING:0, TEXT:0, and: 0, or: 0},
updateMethod: 'dogs'
})).to.throw('updateMethod must be one of PUT, POST, or PATCH');
done();
});
it('should allow the user to pass in a sequelize instance rather than prototype', function() {
var db = new Sequelize('main', null, null, {
dialect: 'sqlite',
storage: ':memory:',
logging: (process.env.SEQ_LOG ? console.log : false)
});
epilogue.initialize({
app: {},
sequelize: db
});
// required sequelize parameters for the list searching
expect(epilogue.sequelize.STRING).to.exist;
expect(epilogue.sequelize.TEXT).to.exist;
expect(epilogue.sequelize.and).to.exist;
expect(epilogue.sequelize.or).to.exist;
});
});