var nano = require('nano')('http://localhost:5984');
var mock = sinon.mock(nano.db); mock.expects('db.create').atLeast(1).withExactArgs('bus_stop_dev').returns(true);
Hello. I'm in trouble with testing nano (with mocha/chai/sinon). I would like to simply verify nano.db.create is called in my code, but I can't get how to do it :
var nano = require('nano')('http://localhost:5984'); var mock = sinon.mock(nano.db); mock.expects('db.create').atLeast(1).withExactArgs('bus_stop_dev').returns(true);
But all I get is TypeError: Attempted to wrap undefined property db.create as function
Does anybody know how can I get it right, please ?
Changed my code : mock.expects('create') instead of 'db.create'. Now I get ExpectationError: Expected create(bus_stop_dev) at least once (never called)
// Should I call result callback from `cb`
var ws = db.attachment.insert(documentName, attName, null, mimetype, {rev : response.rev}, function(...) {})
// Or should I call in on ('end') event
ws.on('end', ...)
// Should I catch write stream errors?
ws.on('error', function (err) {...})
// Should I catch input stream errors?
file.on('error', function(err) {...})
file.pipe(ws)
// add attachment
var dbWriteStream = db.attachment.insert(doc._id, filename, null, type, {rev: doc._rev}, uploaded);
var fileReadStream = fs.createReadStream(file.path);
fileReadStream.on('error', error);
dbWriteStream.on('error', error);
fileReadStream.pipe(dbWriteStream);
function uploaded(err, body) {
if (err) {
console.log("[Attachment] Error in upload.");
if (err.status_code === 409) {
console.log('Attachment upload conflict, retry.');
addAttachment(req, res);
return;
}
else {
console.log("Unrecoverable error in upload", err);
clearTmp();
return error(err);
}
}
clearTmp();
....
}
on('end', ...)
was not successful that time i wrote that code
err
- Objekt zurückgibt, dies bedeutet automatisch, dass ok
== false und umgekehrt kein Error
- ok
ist immer true