model-factory.spec.js
3.2 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
var config = require("../config/config")
, Sequelize = require("../../index")
, sequelize = new Sequelize(config.database, config.username, config.password, { logging: true, connector: 'sqlite' })
, Helpers = new (require("../config/helpers"))(sequelize)
describe('ModelFactory', function() {
var User = null
beforeEach(function() {
User = sequelize.define('User', {
age: Sequelize.INTEGER,
name: Sequelize.STRING,
bio: Sequelize.TEXT
})
Helpers.sync()
})
afterEach(function() {
Helpers.dropAllTables()
})
describe('create', function() {
it('creates a table entry', function() {
Helpers.async(function(done) {
User
.create({ age: 21, name: 'John Wayne', bio: 'noot noot' })
.success(function(user) {
console.log(user)
done()
})
.error(function(err) {
console.log(err)
})
})
})
})
////////// find //////////////
//
// describe('.find', function() {
// beforeEach(function() {
// Helpers.Factories.User({name: 'user', bio: 'foobar'}, null, 2)
// })
//
// it("should make aliased attributes available", function() {
// Helpers.async(function(done) {
// User.find({ where: 'id = 1', attributes: ['id', ['name', 'username']] }).success(function(user) {
// expect(user.username).toEqual('user')
// done()
// })
// })
// })
// })
//
////////// all //////////////
//
// describe('.all', function() {
// beforeEach(function() {
// Helpers.Factories.User({name: 'user', bio: 'foobar'}, null, 2)
// })
//
// it("should return all users", function() {
// Helpers.async(function(done) {
// User.all().on('success', function(users) {
// done()
// expect(users.length).toEqual(2)
// }).on('failure', function(err) { console.log(err) })
// })
// })
// })
//
///////// create ////////////
//
// describe('.create with options', function() {
// var Person = sequelize.define('Person', { name: Sequelize.STRING, options: Sequelize.TEXT })
//
// it('should allow the creation of an object with options as attribute', function() {
// var options = JSON.stringify({ foo: 'bar', bar: 'foo' })
// Helpers.Factories.Model('Person', {name: 'John Doe', options: options}, function(people) {
// expect(people[0].options).toEqual(options)
// })
// })
// })
//
////////// min //////////////
//
// describe('.min', function() {
// it("should return the min value", function() {
// for(var i = 2; i < 5; i++) Helpers.Factories.User({ age: i })
//
// Helpers.async(function(done) {
// User.min('age').on('success', function(min) {
// expect(min).toEqual(2); done()
// })
// })
// })
// })
//
////////// max //////////////
//
// describe('.max', function() {
// it("should return the max value", function() {
// for(var i = 2; i <= 5; i++) Helpers.Factories.User({ age: i })
//
// Helpers.async(function(done) {
// User.max('age').on('success', function(min) {
// expect(min).toEqual(5); done()
// })
// })
// })
// })
})