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

Commit e0804c74 by Mick Hansen

test for simple nested hasMany -> belongsTo include

1 parent 16e66c8d
Showing with 42 additions and 7 deletions
......@@ -17,6 +17,7 @@ chai.use(datetime)
chai.Assertion.includeStack = true
describe(Support.getTestDialectTeaser("Include"), function () {
describe('find', function () {
it('should support a simple nested belongsTo -> belongsTo include', function (done) {
var Task = this.sequelize.define('Task', {})
, User = this.sequelize.define('User', {})
......@@ -46,7 +47,9 @@ describe(Support.getTestDialectTeaser("Include"), function () {
expect(err).not.to.be.ok
Task.find({
id: results.task.id,
where: {
id: results.task.id
},
include: [
{model: User, include: [
{model: Group}
......@@ -62,7 +65,7 @@ describe(Support.getTestDialectTeaser("Include"), function () {
})
})
it('should support a simple nested hasOne -> hasOne include', function (done) {
it('should support a simple nested hasOne -> hasOne include', function (done) {
var Task = this.sequelize.define('Task', {})
, User = this.sequelize.define('User', {})
, Group = this.sequelize.define('Group', {})
......@@ -91,7 +94,9 @@ it('should support a simple nested hasOne -> hasOne include', function (done) {
expect(err).not.to.be.ok
Group.find({
id: results.group.id,
where: {
id: results.group.id
},
include: [
{model: User, include: [
{model: Task}
......@@ -121,7 +126,9 @@ it('should support a simple nested hasOne -> hasOne include', function (done) {
User.create().done(callback)
},
projects: function (callback) {
Project.bulkCreate([{}, {}]).done(callback)
Project.bulkCreate([{}, {}]).done(function () {
Project.findAll().done(callback)
})
},
tasks: ['projects', function(callback, results) {
Task.bulkCreate([
......@@ -129,9 +136,36 @@ it('should support a simple nested hasOne -> hasOne include', function (done) {
{ProjectId: results.projects[1].id},
{ProjectId: results.projects[0].id},
{ProjectId: results.projects[1].id}
]).done(callback)
]).done(function () {
Task.findAll().done(callback)
})
}],
userTasks: ['user', 'tasks', function (callback, results) {
results.user.setTasks(results.tasks).done(callback)
}]
}, done);
});
}, function (err, results) {
User.find({
where: {
id: results.user.id
},
include: [
{model: Task, include: [
{model: Project}
]}
]
}).done(function (err, user) {
expect(err).not.to.be.ok
expect(user.tasks).to.be.ok
expect(user.tasks.length).to.equal(4)
user.tasks.forEach(function (task) {
expect(task.project).to.be.ok
})
done()
})
})
})
})
})
})
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!