From 11721590c104c76f2896c75d23dd0436f34e8e09 Mon Sep 17 00:00:00 2001 From: lana-k Date: Tue, 12 Jan 2021 20:56:48 +0100 Subject: [PATCH] first test for storedQueries module --- src/storedQueries.js | 4 +-- tests/unit/storedQueries.spec.js | 44 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 tests/unit/storedQueries.spec.js diff --git a/src/storedQueries.js b/src/storedQueries.js index f290bfd..4eacc15 100644 --- a/src/storedQueries.js +++ b/src/storedQueries.js @@ -73,7 +73,7 @@ export default { // Create downloader const downloader = document.createElement('a') - downloader.style.display = 'none' + downloader.hidden = true document.body.appendChild(downloader) // Prepare data @@ -106,7 +106,7 @@ export default { uploader.id = 'file-uploader' uploader.type = 'file' uploader.accept = '.json' - uploader.style.display = 'none' + uploader.hidden = true uploader.addEventListener('change', () => { const file = uploader.files[0] diff --git a/tests/unit/storedQueries.spec.js b/tests/unit/storedQueries.spec.js new file mode 100644 index 0000000..4ebebcf --- /dev/null +++ b/tests/unit/storedQueries.spec.js @@ -0,0 +1,44 @@ +import { expect } from 'chai' +import storedQueries from '@/storedQueries.js' + +describe('storedQueries.js', () => { + beforeEach(()=> { + localStorage.removeItem('myQueries') + }) + + it('getStoredQueries(empty storage)', () => { + const queries = storedQueries.getStoredQueries() + expect(queries).to.eql([]) + }) + + it('getStoredQueries', () => { + const data = [ + { id: 1 }, + { id: 2 }, + ] + storedQueries.updateStorage(data) + const queries = storedQueries.getStoredQueries() + expect(queries).to.eql(data) + }) + + it('duplicateQuery', () => { + const now = new Date() + const nowPlusMinute = new Date(now.getTime() + 60*1000) + const base = { + id: 1, + name: 'foo', + query: 'SELECT * from foo', + chart: [], + createdAt: new Date(2021, 0, 1), + isPredefined: true + } + + const copy = storedQueries.duplicateQuery(base) + expect(copy).to.have.property('id').which.not.equal(base.id) + expect(copy).to.have.property('name').which.equal(base.name + ' Copy') + expect(copy).to.have.property('query').which.equal(base.query) + expect(copy).to.have.property('chart').which.eql(base.chart) + expect(copy).to.have.property('createdAt').which.within(now, nowPlusMinute) + expect(copy).to.not.have.property('isPredefined') + }) +}) \ No newline at end of file