From 8867092601020d6602879d15c499a45db638f8ed Mon Sep 17 00:00:00 2001 From: lana-k Date: Sat, 10 Apr 2021 21:19:00 +0200 Subject: [PATCH] add tests for dbUtils module #27 --- src/dbUtils.js | 6 +++--- src/fileUtils.js | 2 +- tests/unit/dbUtils.spec.js | 21 +++++++++++++++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/dbUtils.js b/src/dbUtils.js index 024c5a2..b4365a6 100644 --- a/src/dbUtils.js +++ b/src/dbUtils.js @@ -11,7 +11,7 @@ export default { getInsertStmt (columns) { const colList = `"${columns.join('", "')}"` - const params = columns.map(() => '?').join(' ,') + const params = columns.map(() => '?').join(', ') return `INSERT INTO csv_import (${colList}) VALUES (${params});` }, @@ -36,9 +36,9 @@ export default { } default: type = 'TEXT' } - result += `"${col}" ${type},` + result += `"${col}" ${type}, ` }) - result = result.replace(/.$/, ');') + result = result.replace(/,\s$/, ');') return result } } diff --git a/src/fileUtils.js b/src/fileUtils.js index 4c23253..8068d0e 100644 --- a/src/fileUtils.js +++ b/src/fileUtils.js @@ -58,7 +58,7 @@ export default { return new Promise((resolve, reject) => { fileReader.onerror = () => { fileReader.abort() - reject(new DOMException('Problem parsing input file.')) + reject(new Error('Problem parsing input file.')) } fileReader.onload = () => { diff --git a/tests/unit/dbUtils.spec.js b/tests/unit/dbUtils.spec.js index 8da69e0..6b6ec36 100644 --- a/tests/unit/dbUtils.spec.js +++ b/tests/unit/dbUtils.spec.js @@ -1,8 +1,8 @@ import { expect } from 'chai' -import dbUtils from '@/dbUtils.js' +import dbUtils from '@/dbUtils' describe('dbUtils.js', () => { - it('generator', () => { + it('generateChunks', () => { const arr = ['1', '2', '3', '4', '5'] const size = 2 const chunks = dbUtils.generateChunks(arr, size) @@ -14,4 +14,21 @@ describe('dbUtils.js', () => { expect(output[1]).to.eql(['3', '4']) expect(output[2]).to.eql(['5']) }) + + it('getInsertStmt', () => { + const columns = ['id', 'name'] + expect(dbUtils.getInsertStmt(columns)) + .to.equal('INSERT INTO csv_import ("id", "name") VALUES (?, ?);') + }) + + it('getCreateStatement', () => { + const columns = ['id', 'name', 'isAdmin', 'startDate'] + const values = [ + [1, 'foo', true, new Date()], + [2, 'bar', false, new Date()] + ] + expect(dbUtils.getCreateStatement(columns, values)).to.equal( + 'CREATE table csv_import("id" REAL, "name" TEXT, "isAdmin" INTEGER, "startDate" TEXT);' + ) + }) })