Browse Source

Add tests for bulk.toString and bulk.find.replaceOne

saintedlama/travis-non-legacy
Volodymyr Synytskyi 9 years ago
parent
commit
670bc71bd2
  1. 31
      test/test-bulk-replace-one.js
  2. 30
      test/test-to-string-bulk.js

31
test/test-bulk-replace-one.js

@ -0,0 +1,31 @@
var insert = require('./insert')
insert('bulk', [{
name: 'Squirtle', type: 'water'
}, {
name: 'Starmie', type: 'water'
}], function (db, t, done) {
db.runCommand('serverStatus', function (err, resp) {
t.error(err)
if (parseFloat(resp.version) < 2.6) return t.end()
var bulk = db.a.initializeUnorderedBulkOp()
bulk.find({ name: 'Squirtle' }).replaceOne({ name: 'Charmander', type: 'fire' })
bulk.find({ name: 'Starmie' }).replaceOne({ type: 'fire' })
bulk.execute(function (err, res) {
t.error(err)
t.ok(res.ok)
db.a.find(function (err, res) {
t.error(err)
t.equal(res[0].name, 'Charmander')
t.equal(res[1].name, undefined)
t.equal(res[0].type, 'fire')
t.equal(res[1].type, 'fire')
t.end()
})
})
})
})

30
test/test-to-string-bulk.js

@ -0,0 +1,30 @@
var insert = require('./insert')
insert('bulk to json', [{
name: 'Squirtle', type: 'water'
}, {
name: 'Starmie', type: 'water'
}, {
name: 'Lapras', type: 'water'
}, {
name: 'Charmander', type: 'fire'
}], function (db, t, done) {
db.runCommand('serverStatus', function (err, resp) {
t.error(err)
if (parseFloat(resp.version) < 2.6) return t.end()
var bulk = db.a.initializeOrderedBulkOp()
bulk.insert({ item: 'abc123', status: 'A', defaultQty: 500, points: 5 })
bulk.insert({ item: 'ijk123', status: 'A', defaultQty: 100, points: 10 })
bulk.find({ item: null }).update({ $set: { item: 'TBD' } })
bulk.find({ status: 'D' }).removeOne()
var result = bulk.toString()
t.equals(result.nInsertOps, 2, 'Should result in nInsertOps field set to 2')
t.equals(result.nUpdateOps, 1, 'Should result in nUpdateOps field set to 1')
t.equals(result.nRemoveOps, 1, 'Should result in nRemoveOps field set to 1')
t.equals(result.nBatches, 3, 'Should result in nBatches field set to 3')
done()
})
})
Loading…
Cancel
Save