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

Commit 4b570383 by Sascha Depold

moved migration specs to buster

1 parent 5f5b8e0f
var watchr = require('watchr')
, spawn = require('child_process').spawn
watchr.watch({
path: __dirname,
listener: function(eventName, filePath) {
if (['new', 'change'].indexOf(eventName) > -1) {
var buster = spawn('./node_modules/.bin/buster-test', ['--reporter', 'specification'], { env: process.ENV })
buster.stderr.on('data', function(data) { console.log(data.toString()) })
buster.stdout.on('data', function(data) { console.log(data.toString()) })
}
}
})
...@@ -36,7 +36,8 @@ ...@@ -36,7 +36,8 @@
"sqlite3": "~2.1.5", "sqlite3": "~2.1.5",
"pg": "~0.8.7", "pg": "~0.8.7",
"buster": "~0.6.0", "buster": "~0.6.0",
"dox-foundation": "~0.3.0" "dox-foundation": "~0.3.0",
"watchr": "~2.1.6"
}, },
"keywords": [ "keywords": [
"mysql", "mysql",
......
module.exports = {
up: function(migration, DataTypes) {
migration.createTable('Person', {
name: DataTypes.STRING,
isBetaMember: {
type: DataTypes.BOOLEAN,
defaultValue: false,
allowNull: false
}
})
},
down: function(migration) {
migration.dropTable('Person')
}
}
module.exports = {
up: function() {},
down: function() {}
}
module.exports = {
up: function(migration, DataTypes) {
migration.renameTable('Person', 'User')
},
down: function(migration, DataTypes) {
migration.renameTable('User', 'Person')
}
}
module.exports = {
up: function(migration, DataTypes) {
migration.addColumn('User', 'signature', DataTypes.TEXT)
migration.addColumn('User', 'shopId', { type: DataTypes.INTEGER, allowNull: true })
migration.addColumn('User', 'isAdmin', { type: DataTypes.BOOLEAN, defaultValue: false, allowNull: false })
},
down: function(migration, DataTypes) {
migration.removeColumn('User', 'signature')
migration.removeColumn('User', 'shopId')
migration.removeColumn('User', 'isAdmin')
}
}
module.exports = {
up: function(migration, DataTypes) {
migration.removeColumn('User', 'shopId')
},
down: function(migration, DataTypes) {
migration.addColumn('User', 'shopId', { type: DataTypes.INTEGER, allowNull: true })
}
}
module.exports = {
up: function(migration, DataTypes) {
migration.changeColumn('User', 'signature', {
type: DataTypes.STRING,
allowNull: false,
defaultValue: 'Signature'
})
},
down: function(migration, DataTypes) {}
}
module.exports = {
up: function(migration, DataTypes) {
migration.renameColumn('User', 'signature', 'sig')
},
down: function(migration, DataTypes) {
migration.renameColumn('User', 'sig', 'signature')
}
}
module.exports = function(sequelize, DataTypes) {
return sequelize.define('Project' + parseInt(Math.random() * 9999999999999999), {
name: DataTypes.STRING
})
}
\ No newline at end of file
...@@ -8,7 +8,7 @@ if (typeof require === 'function') { ...@@ -8,7 +8,7 @@ if (typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
buster.testRunner.timeout = 500 buster.testRunner.timeout = 500
describe("[" + Helpers.getTestDialectTeaser() + "] BelongsTo", function() { describe(Helpers.getTestDialectTeaser("BelongsTo"), function() {
before(function(done) { before(function(done) {
Helpers.initTests({ Helpers.initTests({
beforeComplete: function(sequelize) { beforeComplete: function(sequelize) {
......
...@@ -8,7 +8,7 @@ if (typeof require === 'function') { ...@@ -8,7 +8,7 @@ if (typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
buster.testRunner.timeout = 500 buster.testRunner.timeout = 500
describe("[" + Helpers.getTestDialectTeaser() + "] HasMany", function() { describe(Helpers.getTestDialectTeaser("HasMany"), function() {
before(function(done) { before(function(done) {
var self = this var self = this
......
...@@ -8,7 +8,7 @@ if (typeof require === 'function') { ...@@ -8,7 +8,7 @@ if (typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
buster.testRunner.timeout = 1500 buster.testRunner.timeout = 1500
describe("[" + Helpers.getTestDialectTeaser() + "] HasOne", function() { describe(Helpers.getTestDialectTeaser("HasOne"), function() {
before(function(done) { before(function(done) {
var self = this var self = this
......
...@@ -7,7 +7,7 @@ if (typeof require === 'function') { ...@@ -7,7 +7,7 @@ if (typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] Mixin", function() { describe(Helpers.getTestDialectTeaser("Mixin"), function() {
before(function(done) { before(function(done) {
Helpers.initTests({ Helpers.initTests({
dialect: dialect, dialect: dialect,
......
...@@ -10,8 +10,17 @@ var BusterHelpers = module.exports = { ...@@ -10,8 +10,17 @@ var BusterHelpers = module.exports = {
var sequelize = this.createSequelizeInstance(options) var sequelize = this.createSequelizeInstance(options)
this.clearDatabase(sequelize, function() { this.clearDatabase(sequelize, function() {
options.beforeComplete && options.beforeComplete(sequelize, DataTypes) if (options.context) {
options.onComplete && options.onComplete(sequelize, DataTypes) options.context.sequelize = sequelize
}
if (options.beforeComplete) {
options.beforeComplete(sequelize, DataTypes)
}
if (options.onComplete) {
options.onComplete(sequelize, DataTypes)
}
}) })
}, },
...@@ -70,14 +79,14 @@ var BusterHelpers = module.exports = { ...@@ -70,14 +79,14 @@ var BusterHelpers = module.exports = {
return envDialect return envDialect
}, },
getTestDialectTeaser: function() { getTestDialectTeaser: function(moduleName) {
var dialect = this.getTestDialect() var dialect = this.getTestDialect()
if (process.env.DIALECT === 'postgres-native') { if (process.env.DIALECT === 'postgres-native') {
dialect = 'postgres-native' dialect = 'postgres-native'
} }
return dialect.toUpperCase() return "[" + dialect.toUpperCase() + "] " + moduleName
}, },
checkMatchForDialects: function(dialect, value, expectations) { checkMatchForDialects: function(dialect, value, expectations) {
......
...@@ -7,7 +7,7 @@ if(typeof require === 'function') { ...@@ -7,7 +7,7 @@ if(typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] DAOFactory", function() { describe(Helpers.getTestDialectTeaser("DAOFactory"), function() {
before(function(done) { before(function(done) {
Helpers.initTests({ Helpers.initTests({
dialect: dialect, dialect: dialect,
......
...@@ -6,7 +6,7 @@ if(typeof require === 'function') { ...@@ -6,7 +6,7 @@ if(typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] DAO", function() { describe(Helpers.getTestDialectTeaser("DAO"), function() {
before(function(done) { before(function(done) {
var self = this var self = this
......
...@@ -7,7 +7,7 @@ if(typeof require === 'function') { ...@@ -7,7 +7,7 @@ if(typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] DAO", function() { describe(Helpers.getTestDialectTeaser("DAO"), function() {
describe('validations', function() { describe('validations', function() {
before(function(done) { before(function(done) {
Helpers.initTests({ Helpers.initTests({
......
var config = require("./config/config") if(typeof require === 'function') {
, Sequelize = require("../index") const buster = require("buster")
, sequelize = new Sequelize(config.mysql.database, config.mysql.username, config.mysql.password, { logging: false }) , QueryChainer = require("../lib/query-chainer")
, Helpers = new (require("./config/helpers"))(sequelize) , CustomEventEmitter = require("../lib/emitters/custom-event-emitter")
, Migrator = require("../lib/migrator") , Helpers = require('./buster-helpers')
, Migration = require("../lib/migration") , dialect = Helpers.getTestDialect()
, _ = Sequelize.Utils._ , Migrator = require("../lib/migrator")
, Migration = require("../lib/migration")
}
describe('Migration', function() { buster.spec.expose()
buster.testRunner.timeout = 1000
describe(Helpers.getTestDialectTeaser("Migration"), function() {
describe('migrationHasInterfaceCalls', function() { describe('migrationHasInterfaceCalls', function() {
// the syntax in the following tests are correct // the syntax in the following tests are correct
// don't touch them! the functions will get stringified below // don't touch them! the functions will get stringified below
......
...@@ -9,7 +9,7 @@ if(typeof require === 'function') { ...@@ -9,7 +9,7 @@ if(typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
buster.testRunner.timeout = 1000 buster.testRunner.timeout = 1000
describe("[" + Helpers.getTestDialectTeaser() + "] QueryChainer", function() { describe(Helpers.getTestDialectTeaser("QueryChainer"), function() {
before(function() { before(function() {
this.queryChainer = new QueryChainer() this.queryChainer = new QueryChainer()
}) })
......
...@@ -7,7 +7,7 @@ if(typeof require === 'function') { ...@@ -7,7 +7,7 @@ if(typeof require === 'function') {
buster.spec.expose() buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] Sequelize", function() { describe(Helpers.getTestDialectTeaser("Sequelize"), function() {
before(function(done) { before(function(done) {
Helpers.initTests({ Helpers.initTests({
beforeComplete: function(sequelize) { this.sequelize = sequelize }.bind(this), beforeComplete: function(sequelize) { this.sequelize = sequelize }.bind(this),
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!