UNPKG

rethinkdbdash

Version:

A Node.js driver for RethinkDB with promises and a connection pool

87 lines (71 loc) 1.88 kB
var config = require(__dirname+'/config.js'); var r = require(__dirname+'/../lib')(config); var assert = require('assert'); var connection; // global connection var dbName, tableName, docs; function s4() { return Math.floor((1+Math.random())*0x10000).toString(16).substring(1); }; function uuid() { return s4()+s4()+s4()+s4()+s4()+s4()+s4()+s4(); } // Tests for callbacks it("Create db", function(done) { dbName = uuid(); r.dbCreate(dbName).run().then(function(result) { assert.equal(result.dbs_created, 1); done(); }).error(function(error) { done(error); }) }) it("Create table", function(done) { tableName = uuid(); r.db(dbName).tableCreate(tableName).run().then(function(result) { assert.equal(result.tables_created, 1); done(); }).error(function(error) { done(error); }) }) it("Insert", function(done) { r.db(dbName).table(tableName).insert([{name: "Michel", age: 27}, {name: "Sophie", age: 23}]).run().then(function(result) { assert.deepEqual(result.inserted, 2); done(); }).error(function(error) { done(error); }) }) it("Table", function(done) { r.db(dbName).table(tableName).run().then(function(result) { assert(result.length, 2) docs = result; done(); }).error(function(error) { done(error); }) }) it("get", function(done) { r.db(dbName).table(tableName).get(docs[0].id).run().then(function(result) { assert.deepEqual(result, docs[0]) done(); }).error(function(error) { done(error); }) }) it("datum", function(done) { r.expr({foo: "bar"}).run().then(function(result) { assert.deepEqual(result, {foo: "bar"}) done(); }).error(function(error) { done(error); }) }) it("date", function(done) { r.now().run().then(function(result) { assert(result instanceof Date) done(); }).error(function(error) { done(error); }) })