UNPKG

graph-common

Version:
59 lines (53 loc) 2.15 kB
(function() { 'use strict'; var GQL, Query, should; should = require('should'); GQL = require('../../lib/gql'); Query = require('../../lib/query'); describe('GQL', function() { describe('parse_line', function() { return it('should parse GQL line', function(done) { var line; line = 'application/forum/topic create { "message": "ahoj" }'; return GQL.parse_line(line, function(query) { query.should.be["instanceof"](Query); query.should.have.property('node', 'application/forum/topic'); query.should.have.property('action', 'create'); query.should.have.property('data', '{ "message": "ahoj" }'); return done(); }); }); }); return describe('parse', function() { return it('should parse GQL sequence', function(done) { var gql_sequence, n_queries, query_counter; gql_sequence = ['status read', 'application/forum/topic create { "message": "nazdar" }', 'node create { "name": "echo", "router", "echo" }']; n_queries = gql_sequence.length; query_counter = 0; return GQL.parse(gql_sequence.join('\n'), function(query) { var _ref; query.should.be["instanceof"](Query); should((_ref = query.node) === 'status' || _ref === 'application/forum/topic' || _ref === 'node').be["true"]; if (query.node === 'status') { query.should.have.property('action', 'read'); should(query.data).be.undefined; query_counter++; } if (query.node === 'application/forum/topic') { query.should.have.property('action', 'create'); query.should.have.property('data', '{ "message": "nazdar" }'); query_counter++; } if (query.node === 'node') { query.should.have.property('action', 'create'); query.should.have.property('data', '{ "name": "echo", "router", "echo" }'); query_counter++; } if (query_counter === n_queries) { return done(); } }); }); }); }); }).call(this);