UNPKG

grex

Version:

Client for Rexster Graph Server

90 lines (70 loc) 2.42 kB
var should = require('should'); var _ = require("lodash"); var grex = require('../'); var client = grex.createClient(); var gremlin = grex.gremlin; var g = grex.g; describe('client', function() { describe('.gremlin()', function() { it('should return an appender', function() { /*jshint -W030 */ gremlin.should.be.a.Function; }); it('should append one statement', function() { var query = gremlin(g.v(1)); query.script.should.equal('g.v(1)\n'); }); it('should append many statements', function() { var query = gremlin(); query(g.v(1)); query(g.v(2)); query(g.v(3)); query.script.should.equal('g.v(1)\ng.v(2)\ng.v(3)\n'); }); it('should support statements passed in as string', function() { var query = gremlin(); query('g.v(1)'); query.script.should.equal('g.v(1)\n'); }); it('should support statements passed in as string with bound parameters', function(done) { var query = gremlin(); query('g.v(%s)', 1); query.script.should.equal('g.v(p0)\n'); client.execute(query, function(err, response) { response.results.length.should.equal(1); done(); }); }); it('should string formatting when creating query function object', function(done) { var query = gremlin('g.v(%s)', 1); query.script.should.equal('g.v(p0)\n'); client.execute(query, function(err, response) { should.not.exist(err); response.results.length.should.equal(1); done(); }); }); it('should string formatting with multiple parameters', function(done) { var query = gremlin("g.addVertex(['name': %s, 'age': %s])", "Bob", 26); query.script.should.equal("g.addVertex(['name': p0, 'age': p1])\n"); client.execute(query, function(err, response) { should.not.exist(err); response.results.length.should.equal(1); done(); }); }); it('should be executable', function(done) { client.execute(gremlin(g.v(1)), function(err, response) { should.not.exist(err); response.results.length.should.equal(1); done(); }); }); it('should be fetchable', function(done) { client.fetch(gremlin(g.v(1)), function(err, results) { should.not.exist(err); results.length.should.equal(1); done(); }); }); }); });