Est-ce la bonne façon de faire plusieurs enlèvement de la collection le premier ou le second? Je pense que c'est le second mais le premier est plus facile à utiliser. Est-il possible d'utiliser la promesse pour faciliter la lecture du code?La bonne façon de cascade création/suppression de collection dans mongoose
Première façon:
beforeEach((done) => {
//Before each test we empty the database
//Remove Roles
Role.remove({}, (err) => {});
//Remove Users
User.remove({}, (err) => {});
// Remove Workouts
Workout.remove({}, (err) => {});
// Create user
Role.create({"name" : "Administrator"},(err, adminRole) => {
User.create({ firstname : "***", businessId: "1", lastname : "***", email : "***", roles:[adminRole]}, (err) => {
done();
});
});
});`
Deuxième moyen:
beforeEach((done) => {
//Before each test we empty the database
//Remove Roles
Role.remove({}, (err) => {
//Remove Users
User.remove({}, (err) => {
// Remove Workouts
Workout.remove({}, (err) => {
// Create user
Role.create({"name" : "Administrator"},(err, adminRole) => {
User.create({ firstname : "***", businessId: "1", lastname : "***", email : "***", roles:[adminRole]}, (err) => {
done();
});
});
});
});
});
});
Merci Alberto. En effet, votre proposition avec Promise est plus sexy :-). Première question: si User.remove ({}) échoue, Workout.remove ({}) ne sera pas exécuté? –
@oliviercherrier Oui, exactement. Si 'User.remove ({})' échoue, il va directement à 'catch' –
Deuxième question: Qu'en est-il de la première asynchrone? Workout .remove est-il exécuté depuis la fin de User.remove() ou peut-il être exécuté avant la fin de User.remove? –