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

Commit 4ecc546d by Sascha Depold

exec association specs for every dialect

1 parent 7968f093
...@@ -2,42 +2,45 @@ if (typeof require === 'function') { ...@@ -2,42 +2,45 @@ if (typeof require === 'function') {
const buster = require("buster") const buster = require("buster")
, Helpers = require('../buster-helpers') , Helpers = require('../buster-helpers')
, Sequelize = require('../../index') , Sequelize = require('../../index')
, dialects = Helpers.getSupportedDialects()
} }
buster.spec.expose() buster.spec.expose()
buster.testRunner.timeout = 500 buster.testRunner.timeout = 500
describe('BelongsTo', function() { dialects.forEach(function(dialect) {
before(function(done) { describe('BelongsTo@' + dialect, function() {
Helpers.initTests({ before(function(done) {
beforeComplete: function(sequelize) { Helpers.initTests({
this.sequelize = sequelize beforeComplete: function(sequelize) {
}.bind(this), this.sequelize = sequelize
onComplete: done }.bind(this),
onComplete: done
})
}) })
})
describe('setAssociation', function() { describe('setAssociation', function() {
it('clears the association if null is passed', function(done) { it('clears the association if null is passed', function(done) {
var User = this.sequelize.define('User', { username: Sequelize.STRING }) var User = this.sequelize.define('User', { username: Sequelize.STRING })
, Task = this.sequelize.define('Task', { title: Sequelize.STRING }) , Task = this.sequelize.define('Task', { title: Sequelize.STRING })
Task.belongsTo(User) Task.belongsTo(User)
this.sequelize.sync({ force: true }).success(function() { this.sequelize.sync({ force: true }).success(function() {
User.create({ username: 'foo' }).success(function(user) { User.create({ username: 'foo' }).success(function(user) {
Task.create({ title: 'task' }).success(function(task) { Task.create({ title: 'task' }).success(function(task) {
task.setUser(user).success(function() { task.setUser(user).success(function() {
task.getUser().success(function(user) { task.getUser().success(function(user) {
expect(user).not.toEqual(null) expect(user).not.toEqual(null)
task.setUser(null).success(function() { task.setUser(null).success(function() {
task.getUser().success(function(user) { task.getUser().success(function(user) {
expect(user).toEqual(null) expect(user).toEqual(null)
done() done()
})
}) })
})
})
}) })
}) })
}) })
......
...@@ -2,42 +2,46 @@ if (typeof require === 'function') { ...@@ -2,42 +2,46 @@ if (typeof require === 'function') {
const buster = require("buster") const buster = require("buster")
, Sequelize = require("../../index") , Sequelize = require("../../index")
, Helpers = require('../buster-helpers') , Helpers = require('../buster-helpers')
, dialects = Helpers.getSupportedDialects()
} }
buster.spec.expose() buster.spec.expose()
buster.testRunner.timeout = 500 buster.testRunner.timeout = 500
describe('HasOne', function() { dialects.forEach(function(dialect) {
before(function(done) { describe('HasOne@' + dialect, function() {
var self = this before(function(done) {
var self = this
Helpers.initTests({ Helpers.initTests({
beforeComplete: function(sequelize) { self.sequelize = sequelize }, dialect: dialect,
onComplete: done beforeComplete: function(sequelize) { self.sequelize = sequelize },
onComplete: done
})
}) })
})
describe('setAssociation', function() {
it('clears the association if null is passed', function(done) {
var User = this.sequelize.define('User', { username: Sequelize.STRING })
, Task = this.sequelize.define('Task', { title: Sequelize.STRING })
User.hasOne(Task)
this.sequelize.sync({ force: true }).success(function() { describe('setAssociation', function() {
User.create({ username: 'foo' }).success(function(user) { it('clears the association if null is passed', function(done) {
Task.create({ title: 'task' }).success(function(task) { var User = this.sequelize.define('User', { username: Sequelize.STRING })
user.setTask(task).success(function() { , Task = this.sequelize.define('Task', { title: Sequelize.STRING })
user.getTask().success(function(task) {
expect(task).not.toEqual(null) User.hasOne(Task)
user.setTask(null).success(function() { this.sequelize.sync({ force: true }).success(function() {
user.getTask().success(function(task) { User.create({ username: 'foo' }).success(function(user) {
expect(task).toEqual(null) Task.create({ title: 'task' }).success(function(task) {
done() user.setTask(task).success(function() {
user.getTask().success(function(task) {
expect(task).not.toEqual(null)
user.setTask(null).success(function() {
user.getTask().success(function(task) {
expect(task).toEqual(null)
done()
})
}) })
})
})
}) })
}) })
}) })
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!