不要怂,就是干,撸起袖子干!

Commit f636cd85 by sdepold

first steps for busterjs

1 parent e9c654fa
var config = module.exports
config["node tests"] = {
environment: "node",
rootPath: "../",
tests: [
"spec/**/*.spec.js"
]
}
module.exports = {
username: "root",
password: null,
database: 'sequelize_test',
host: '127.0.0.1'
}
var Factories = module.exports = function(helpers) {
this.helpers = helpers
this.sequelize = this.helpers.sequelize
}
Factories.prototype.DAO = function(daoName, options, callback, count) {
count = count || 1
var self = this
, daos = []
this.helpers.async(function(done) {
var DAO = self.sequelize.daoFactoryManager.getDAO(daoName)
var create = function(cb) {
DAO.create(options).on('success', function(dao) {
daos.push(dao)
cb && cb()
}).on('failure', function(err) {
console.log(err)
done()
})
}
var cb = function() {
if(--count) {
create(cb)
} else {
done()
callback && callback(daos)
}
}
create(cb)
})
}
Factories.prototype.User = function(options, callback, count) {
this.DAO('User', options, callback, count)
}
Sequelize = require("../../index")
var Helpers = module.exports = function(sequelize) {
this.sequelize = sequelize
this.Factories = new (require("./factories"))(this)
}
Helpers.prototype.sync = function() {
var self = this
this.async(function(done) {
self.sequelize
.sync({force: true})
.success(done)
.failure(function(err) { console.log(err) })
})
}
Helpers.prototype.drop = function() {
var self = this
this.async(function(done) {
self.sequelize
.drop()
.on('success', done)
.on('failure', function(err) { console.log(err) })
})
}
Helpers.prototype.dropAllTables = function() {
var self = this
this.async(function(done) {
self.sequelize
.getQueryInterface()
.dropAllTables()
.success(done)
.error(function(err) { console.log(err) })
})
}
Helpers.prototype.async = function(fct) {
var done = false
runs(function() {
fct(function() { return done = true })
})
waitsFor(function(){ return done })
}
if(typeof require === 'function') {
const buster = require("buster")
, Sequelize = require("../../index")
, config = require("../config")
console.log(Sequelize)
}
buster.spec.expose()
describe('SQLite', function() {
before(function(done) {
var self = this
this.sequelize = new Sequelize(config.database, config.username, config.password, {
logging: false,
dialect: 'sqlite'
})
this.User = this.sequelize.define('User', {
username: Sequelize.STRING
})
self.sequelize
.getQueryInterface()
.dropAllTables()
.success(function() {
self.User.sync({ force: true }).success(done)
})
.error(function(err) { console.log(err) })
})
describe('DAO', function() {
describe('findAll', function() {
it("handles dates correctly", function() {
})
})
})
})
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!