basics.js
2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
var Sequelize = require(__dirname + "/../../lib/sequelize/Sequelize").Sequelize
var s = new Sequelize('sequelize_test', 'test', 'test')
module.exports = {
'test constants': function(assert) {
assert.isDefined(Sequelize.STRING)
assert.isNotNull(Sequelize.STRING)
assert.isDefined(Sequelize.TEXT)
assert.isNotNull(Sequelize.TEXT)
assert.isDefined(Sequelize.INTEGER)
assert.isNotNull(Sequelize.INTEGER)
},
'the constructor sets config correctly': function(assert){
assert.equal(s.config.database, 'sequelize_test')
assert.equal(s.config.username, 'test')
assert.equal(s.config.password, 'test')
},
'the constructor initializes empty tables hash': function(assert) {
var s = new Sequelize('sequelize_test', 'test', 'test')
assert.isDefined(s.tables)
assert.isNotNull(s.tables)
assert.eql(s.tables, {})
},
'define should return a function': function(assert){
var Day = s.define('Day', { name: Sequelize.TEXT })
assert.equal(typeof Day, 'function')
},
'define should add new table to tables': function(assert) {
var Day = s.define('Day', { name: Sequelize.TEXT })
assert.includes(Sequelize.Helper.Hash.keys(Day.sequelize.tables), 'Day')
},
'tableNames should be an empty array if no tables are specified': function(assert){
var s2 = new Sequelize('sequelize_test', 'test', 'test')
assert.deepEqual(s2.tableNames, [])
},
'tableNames should be no empty array if tables are specified': function(assert) {
s.define('Day', { name: Sequelize.TEXT })
assert.deepEqual(s.tableNames, ['Days'])
},
'sync: errors': function(assert, beforeExit) {
var testIsFinished = false,
sequelizeWithInvalidCredentials = new Sequelize('foo', 'bar', 'barfoos'),
Fail = sequelizeWithInvalidCredentials.define('Fail', {})
sequelizeWithInvalidCredentials.sync(function(errors) {
assert.isDefined(errors)
assert.equal(errors.length, 1)
testIsFinished = true
})
beforeExit(function() { assert.equal(testIsFinished, true) })
},
'drop: errors': function(assert, beforeExit) {
var testIsFinished = false,
sequelizeWithInvalidCredentials = new Sequelize('foo', 'bar', 'barfoos'),
Fail = sequelizeWithInvalidCredentials.define('Fail', {})
sequelizeWithInvalidCredentials.drop(function(errors) {
assert.isDefined(errors)
assert.equal(errors.length, 1)
testIsFinished = true
})
beforeExit(function() { assert.equal(testIsFinished, true) })
}
}