alasql
Version:
AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel
67 lines (53 loc) • 2.01 kB
JavaScript
if(typeof exports === 'object') {
var assert = require("assert");
var alasql = require('..');
var _ = require('lodash');
} else {
__dirname = '.';
};
describe('Test 272 REMOVE columns', function() {
it('0. Create database', function(done) {
alasql('CREATE DATABASE test272;USE test272');
done();
});
it('1. Remove columns', function(done) {
var data = [{a:1,b:10,c:100},{a:2,b:20,c:200},];
var res = alasql('SELECT RECORDSET * REMOVE COLUMN c FROM ?',[data]);
var colres = _.pluck(res.columns,"columnid");
assert.deepEqual(colres,["a","b"]);
done();
});
it('2. Remove columns', function(done) {
var data = [{a:1,b:10,c:100},{a:2,b:20,c:200},];
var res = alasql('SELECT RECORDSET * REMOVE COLUMNS c FROM ?',[data]);
var colres = _.pluck(res.columns,"columnid");
assert.deepEqual(colres,["a","b"]);
done();
});
it('3. Remove columns LIKE', function(done) {
var data = [{a:1,b1:10,b2:100},{a:2,b1:20,b2:200},];
var res = alasql('SELECT RECORDSET * REMOVE COLUMNS LIKE "%b" FROM ?',[data]);
var colres = _.pluck(res.columns,"columnid");
assert.deepEqual(colres,["a"]);
done();
});
it('4. Remove multiple columns', function(done) {
var data = [{a:1,b1:10,b2:100,c:1000, d:10000},{a:2,b1:20,b2:200,c:2000,d:20000},];
var res = alasql('SELECT RECORDSET * REMOVE COLUMNS LIKE "%b",a,d FROM ?',[data]);
var colres = _.pluck(res.columns,"columnid");
assert.deepEqual(colres,["c"]);
done();
});
it('5. Remove columns from table', function(done) {
alasql('CREATE TABLE one (a INT, b STRING, c INT)');
alasql('INSERT INTO one VALUES (1,"One",10),(2,"Two",20),(3,"Three",30)')
var res = alasql('SELECT RECORDSET * REMOVE COLUMN b FROM one');
var colres = _.pluck(res.columns,"columnid");
assert.deepEqual(colres,["a","c"]);
done();
});
it('99. Drop database', function(done) {
alasql('DROP DATABASE test272');
done();
});
});