UNPKG

alasql

Version:

AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel

88 lines (73 loc) 2.51 kB
if(typeof exports === 'object') { var assert = require("assert"); var alasql = require('..'); } else { __dirname = '.'; }; describe('Test 132 Alasql + NoSQL', function() { it("1. Prepare database", function(done){ alasql('CREATE DATABASE test132; USE test132'); alasql('CREATE TABLE one (a INT, b STRING)'); alasql('CREATE TABLE two'); // alasql('CREATE TABLE three ?',[{columnid:"a"},{columnid:"b"}]); done(); }); it("2. INSERT", function(done) { alasql('INSERT INTO one VALUES (1,"One"), (2,"Two")'); // alasql('INSERT INTO one VALUES @{a:3,b:"Three"}, @{a:4,b:"Four"}, (5,"Five")'); alasql('INSERT INTO one VALUES {a:3,b:"Three"}, {a:4,b:"Four"}, (5,"Five")'); alasql('INSERT INTO one VALUES ?,?,(?,?)',[{a:6,b:'Six'}, {a:7,b:'Seven'}, 8, "Eight"]); alasql.tables.one.insert({a:9,b:"Nine"}); alasql.tables.two.insert({a:1,b:[2,{c:3},4]}); alasql.tables.two.insert({a:1,b:[2,{c:5},4]}); alasql.tables.two.insert({a:1,b:[2,{c:6},4]}); done(); }); it("3. SELECT", function(done) { var res = alasql('SELECT * FROM one'); assert.deepEqual(res, [ { a: 1, b: 'One' }, { a: 2, b: 'Two' }, { a: 3, b: 'Three' }, { a: 4, b: 'Four' }, { a: 4, b: 'Four' }, { a: 6, b: 'Six' }, { a: 7, b: 'Seven' }, { a: 7, b: 'Seven' }, { a: 9, b: 'Nine' } ] ); var res = alasql('SELECT * FROM one WHERE b IN ("Two","Three")'); assert.deepEqual(res, [ { a: 2, b: 'Two' }, { a: 3, b: 'Three' } ] ); // var res2 = alasql('SELECT * FROM one WHERE @{b:@[2,3]}'); // var res3 = alasql.tables.one.find({b:[2,3]}); // assert.deepEqual(res1,res2); // assert.deepEqual(res1,res3); var res1 = alasql('SELECT (a = 2) AS alpha FROM one WHERE b IN (2,3)'); console.log(res1); // var res2 = alasql('SELECT @{a:2} AS alpha FROM one WHERE @{b:[2,3]}'); // assert.deepEqual(res1,res2); done(); }); it("4. DEEP SELECT...", function(done) { // var res2 = alasql('SELECT * FROM two WHERE ...'); done(); }); it("5. UPDATE", function(done) { // alasql('UPDATE one SET {a:2} WHERE {a:3}'); alasql('UPDATE one SET a=2 WHERE a=3'); // alasql.tables.one.update({a:2}, {a:3}); done(); }); it("6. UPDATE", function(done) { // alasql('DELETE FROM one WHERE @{a:2}'); alasql('DELETE FROM one WHERE a=2'); // alasql.tables.one.remove({a:2}) done(); }); it("99. UPDATE", function(done) { alasql('DROP DATABASE test132'); done(); }); });