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

Commit 71e94bff by Mick Hansen

test(hasMany/include): add test by vpontis

1 parent f121f76e
Showing with 28 additions and 38 deletions
...@@ -1583,48 +1583,38 @@ describe(Support.getTestDialectTeaser("HasMany"), function() { ...@@ -1583,48 +1583,38 @@ describe(Support.getTestDialectTeaser("HasMany"), function() {
}); });
it('should correctly get associations even after a child instance is deleted', function() { it('should correctly get associations even after a child instance is deleted', function() {
var self = this, var self = this
user, projects; , user
return this.sequelize.sync({logging: console.log}).then(function() { , projects;
return Promise.all([
return this.sequelize.sync({force: true}).then(function() {
return Promise.join(
self.User.create({name: 'Matt'}), self.User.create({name: 'Matt'}),
self.Project.create({name: 'Good Will Hunting'}), self.Project.create({name: 'Good Will Hunting'}),
self.Project.create({name: 'The Departed'}) self.Project.create({name: 'The Departed'})
]); );
}) }).spread(function (user, project1, project2) {
.spread(function (user, project1, project2) { return user.addProjects([project1, project2]).return(user);
return user.addProjects([project1, project2]).return(user); }).then(function(user) {
}) return Promise.join(
.then(function(user) { user,
return Promise.all([ user.getProjects()
user, );
user.getProjects() }).spread(function(user, projects) {
]); var project = projects[0];
}) expect(project).to.be.defined;
.then(function(savedUser, savedProjects) { return project.destroy().return(user);
var user = savedUser, }).then(function(user) {
projects = savedProjects; return self.User.find({
return Promise.all([ where: { id: user.id},
self.sequelize.query('alter table user_projects drop constraint user_projects_project_id_fkey;'), include: [{model: self.Project, as: 'Projects'}]
self.sequelize.query('alter table user_projects drop constraint user_projects_user_id_fkey;')
])
})
.spread(function() {
var project = projects[0];
expect(project).to.be.defined;
return project.destroy().return(user);
})
.then(function(user) {
return self.User.find({
where: { id: user.id},
include: self.Project
});
})
.then(function(user) {
var projects = user.Projects;
var project = projects[0];
expect(project).to.be.defined;
}); });
}).then(function(user) {
var projects = user.Projects
, project = projects[0];
expect(project).to.be.defined;
});
}); });
it('should correctly get associations when doubly linked', function() { it('should correctly get associations when doubly linked', function() {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!