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

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 @@
"sqlite3": "~2.1.5",
"pg": "~0.8.7",
"buster": "~0.6.0",
"dox-foundation": "~0.3.0"
"dox-foundation": "~0.3.0",
"watchr": "~2.1.6"
},
"keywords": [
"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') {
buster.spec.expose()
buster.testRunner.timeout = 500
describe("[" + Helpers.getTestDialectTeaser() + "] BelongsTo", function() {
describe(Helpers.getTestDialectTeaser("BelongsTo"), function() {
before(function(done) {
Helpers.initTests({
beforeComplete: function(sequelize) {
......
......@@ -8,7 +8,7 @@ if (typeof require === 'function') {
buster.spec.expose()
buster.testRunner.timeout = 500
describe("[" + Helpers.getTestDialectTeaser() + "] HasMany", function() {
describe(Helpers.getTestDialectTeaser("HasMany"), function() {
before(function(done) {
var self = this
......
......@@ -8,7 +8,7 @@ if (typeof require === 'function') {
buster.spec.expose()
buster.testRunner.timeout = 1500
describe("[" + Helpers.getTestDialectTeaser() + "] HasOne", function() {
describe(Helpers.getTestDialectTeaser("HasOne"), function() {
before(function(done) {
var self = this
......
......@@ -7,7 +7,7 @@ if (typeof require === 'function') {
buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] Mixin", function() {
describe(Helpers.getTestDialectTeaser("Mixin"), function() {
before(function(done) {
Helpers.initTests({
dialect: dialect,
......
......@@ -10,8 +10,17 @@ var BusterHelpers = module.exports = {
var sequelize = this.createSequelizeInstance(options)
this.clearDatabase(sequelize, function() {
options.beforeComplete && options.beforeComplete(sequelize, DataTypes)
options.onComplete && options.onComplete(sequelize, DataTypes)
if (options.context) {
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 = {
return envDialect
},
getTestDialectTeaser: function() {
getTestDialectTeaser: function(moduleName) {
var dialect = this.getTestDialect()
if (process.env.DIALECT === 'postgres-native') {
dialect = 'postgres-native'
}
return dialect.toUpperCase()
return "[" + dialect.toUpperCase() + "] " + moduleName
},
checkMatchForDialects: function(dialect, value, expectations) {
......
......@@ -7,7 +7,7 @@ if(typeof require === 'function') {
buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] DAOFactory", function() {
describe(Helpers.getTestDialectTeaser("DAOFactory"), function() {
before(function(done) {
Helpers.initTests({
dialect: dialect,
......
......@@ -6,7 +6,7 @@ if(typeof require === 'function') {
buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] DAO", function() {
describe(Helpers.getTestDialectTeaser("DAO"), function() {
before(function(done) {
var self = this
......
......@@ -7,7 +7,7 @@ if(typeof require === 'function') {
buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] DAO", function() {
describe(Helpers.getTestDialectTeaser("DAO"), function() {
describe('validations', function() {
before(function(done) {
Helpers.initTests({
......
var config = require("./config/config")
, Sequelize = require("../index")
, sequelize = new Sequelize(config.mysql.database, config.mysql.username, config.mysql.password, { logging: false })
, Helpers = new (require("./config/helpers"))(sequelize)
, Migrator = require("../lib/migrator")
, Migration = require("../lib/migration")
, _ = Sequelize.Utils._
if(typeof require === 'function') {
const buster = require("buster")
, QueryChainer = require("../lib/query-chainer")
, CustomEventEmitter = require("../lib/emitters/custom-event-emitter")
, Helpers = require('./buster-helpers')
, dialect = Helpers.getTestDialect()
, 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() {
// the syntax in the following tests are correct
// don't touch them! the functions will get stringified below
......
......@@ -9,7 +9,7 @@ if(typeof require === 'function') {
buster.spec.expose()
buster.testRunner.timeout = 1000
describe("[" + Helpers.getTestDialectTeaser() + "] QueryChainer", function() {
describe(Helpers.getTestDialectTeaser("QueryChainer"), function() {
before(function() {
this.queryChainer = new QueryChainer()
})
......
......@@ -7,7 +7,7 @@ if(typeof require === 'function') {
buster.spec.expose()
describe("[" + Helpers.getTestDialectTeaser() + "] Sequelize", function() {
describe(Helpers.getTestDialectTeaser("Sequelize"), function() {
before(function(done) {
Helpers.initTests({
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!