finder.js
2.05 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
var Sequelize = require(__dirname + "/../../lib/sequelize/Sequelize").Sequelize
var s = new Sequelize('sequelize_test', 'root', null, {disableLogging: true})
var Day = s.define('Day', { name: Sequelize.TEXT })
module.exports = {
'findAll should return all items as class objects': function(assert, beforeExit) {
var allFindAllTestItems = null
var FindAllTest = s.define('FindAllTest', {})
Sequelize.chainQueries([
{drop: FindAllTest}, {sync: FindAllTest}, {save: new FindAllTest({})}, {save: new FindAllTest({})}
], function() {
FindAllTest.findAll(function(findAlls) {
allFindAllTestItems = findAlls
})
})
beforeExit(function(){
assert.equal(allFindAllTestItems.length, 2)
allFindAllTestItems.forEach(function(item) {
assert.equal(item instanceof FindAllTest, true)
})
})
},
'find returns the correct item': function(assert, beforeExit) {
var item = null
var itemToMatch = null
var FindTest = s.define('FindTest', { name: Sequelize.STRING })
FindTest.drop(function() {
FindTest.sync(function() {
itemToMatch = new FindTest({name: 'foo'})
itemToMatch.save(function() {
new FindTest({name: 'bar'}).save(function() {
FindTest.find({name: 'foo'}, function(result) {
item = result
})
})
})
})
})
beforeExit(function() {
assert.equal(itemToMatch.id, item.id)
assert.equal(itemToMatch.name, item.name)
})
},
'find returns data in correct attributes': function(assert, beforeExit) {
var assertMe = null
var FindMeNow = s.define('FindMeNow', { title: Sequelize.STRING, content: Sequelize.TEXT })
FindMeNow.drop(function() {
FindMeNow.sync(function() {
new FindMeNow({title: 'a title', content: 'a content'}).save(function(blubb) {
assertMe = blubb
})
})
})
beforeExit(function() {
assert.isNotNull(assertMe)
assert.equal(assertMe.title, 'a title')
assert.equal(assertMe.content, 'a content')
})
}
}