MISE À JOURnode.js Mocha: comment réutiliser une variable définie dans une configuration locale before() hook?
Dans mon (test 'ressources', je crée un nouvel utilisateur
/**
* root level hooks
*/
before((done) => {
const newUser = new User({
username: 'johndoe',
password: 'jdpwd',
email: '[email protected]',
mobileNumber: 123456789
});
newUser.save((err) => {
// console.log('error: ', err);
done();
});
});
je voudrais réutiliser l'ID utilisateur dans mon test:
describe('## Resource APIs',() => {
const user = User.findOne({ username: 'johndoe' });
console.log('got user: ', user.id);
let resource = {
name: 'RS123',
description: 'RS123Description',
owner: user._id, <= should be the id of the newUser
private: true
};
describe('# POST /api/v1/resources',() => {
it('should create a new resource', (done) => {
request(app)
.post('/api/v1/resources')
.send(resource)
.expect(httpStatus.OK)
.then((res) => {
expect(res.body.name).to.equal(resource.name);
expect(res.body.description).to.equal(resource.description);
resource = res.body;
done();
})
.catch(done);
});
});
...
});
mais l'utilisateur est indéfini ..
Comment puis-je le changer? for all feedback
mouvement à la portée supérieure, exécuter avant et affecter la valeur en demandâmes fait. – Gntem
merci pour les commentaires, j'ai mis à jour ma question après avoir essayé selon votre commentaire .. Je me trompe peut-être encore ... n'est-il pas déplacé à la portée supérieure maintenant? – erwin
OK merci, je l'ai maintenant .. let newUser = nouvel utilisateur ({}); avant ((fait) => { newUser = new utilisateur ({ let ressources = { nom: 'RS123', description: 'RS123Description', propriétaire: newUser.id, privé: true} ; – erwin