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
JavaScript
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();
});
});