From 15636fed5f5a2ae7cb0271ff42e51892208e3738 Mon Sep 17 00:00:00 2001 From: lana-k Date: Wed, 28 Apr 2021 10:46:40 +0200 Subject: [PATCH] increase timeout for tests; fix warnings in tests --- karma.conf.js | 5 ++- tests/components/DbUploader.spec.js | 10 +++-- tests/components/TableDescription.spec.js | 1 + tests/components/Tabs.spec.js | 49 ++++++++++++++++++----- 4 files changed, 52 insertions(+), 13 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index 35be504..a72cd4a 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -97,7 +97,10 @@ module.exports = function (config) { concurrency: 2, client: { - captureConsole: true + captureConsole: true, + mocha: { + timeout: 5000 + } }, browserConsoleLogOptions: { terminal: true, diff --git a/tests/components/DbUploader.spec.js b/tests/components/DbUploader.spec.js index 8009c7d..c0c2b3f 100644 --- a/tests/components/DbUploader.spec.js +++ b/tests/components/DbUploader.spec.js @@ -16,7 +16,8 @@ describe('DbUploader.vue', () => { // mock store state and mutations state = {} mutations = { - saveSchema: sinon.stub() + saveSchema: sinon.stub(), + setDb: sinon.stub() } store = new Vuex.Store({ state, mutations }) }) @@ -563,7 +564,8 @@ describe('DbUploader.vue import CSV', () => { let resolveImport = sinon.stub() const newDb = { createDb: sinon.stub().resolves(new Promise(resolve => { resolveImport = resolve })), - createProgressCounter: sinon.stub().returns(1) + createProgressCounter: sinon.stub().returns(1), + deleteProgressCounter: sinon.stub() } sinon.stub(database, 'getNewDatabase').returns(newDb) @@ -812,7 +814,8 @@ describe('DbUploader.vue import CSV', () => { const newDb = { createDb: sinon.stub().resolves(schema), createProgressCounter: sinon.stub().returns(1), - deleteProgressCounter: sinon.stub() + deleteProgressCounter: sinon.stub(), + shutDown: sinon.stub() } sinon.stub(database, 'getNewDatabase').returns(newDb) @@ -832,6 +835,7 @@ describe('DbUploader.vue import CSV', () => { expect(actions.addTab.called).to.equal(false) expect(mutations.setCurrentTabId.called).to.equal(false) expect($router.push.called).to.equal(false) + expect(newDb.shutDown.calledOnce).to.equal(true) expect(wrapper.find('[data-modal="parse"]').exists()).to.equal(false) }) }) diff --git a/tests/components/TableDescription.spec.js b/tests/components/TableDescription.spec.js index cc71e82..a59c613 100644 --- a/tests/components/TableDescription.spec.js +++ b/tests/components/TableDescription.spec.js @@ -19,6 +19,7 @@ describe('TableDescription.vue', () => { it('Columns are visible and correct when click on table name', async () => { const wrapper = shallowMount(TableDescription, { + stubs: ['router-link'], propsData: { name: 'Test table', columns: [ diff --git a/tests/components/Tabs.spec.js b/tests/components/Tabs.spec.js index c4db18a..179546e 100644 --- a/tests/components/Tabs.spec.js +++ b/tests/components/Tabs.spec.js @@ -6,6 +6,10 @@ import Vuex from 'vuex' import Tabs from '@/components/Tabs.vue' describe('Tabs.vue', () => { + afterEach(() => { + sinon.restore() + }) + it('Renders start guide when there is no opened tabs', () => { // mock store state const state = { @@ -14,7 +18,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state }) // mount the component - const wrapper = shallowMount(Tabs, { store }) + const wrapper = shallowMount(Tabs, { + store, + stubs: ['router-link'] + }) // check start-guide visibility expect(wrapper.find('#start-guide').isVisible()).to.equal(true) @@ -32,7 +39,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state }) // mount the component - const wrapper = shallowMount(Tabs, { store }) + const wrapper = shallowMount(Tabs, { + store, + stubs: ['router-link'] + }) // check start-guide visibility expect(wrapper.find('#start-guide').isVisible()).to.equal(false) @@ -64,7 +74,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = shallowMount(Tabs, { store }) + const wrapper = shallowMount(Tabs, { + store, + stubs: ['router-link'] + }) // click on the first tab const firstTab = wrapper.findAll('.tab').at(0) @@ -90,7 +103,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = mount(Tabs, { store, stubs: ['router-link'] }) + const wrapper = mount(Tabs, { + store, + stubs: ['router-link'] + }) // click on the close icon of the first tab const firstTabCloseIcon = wrapper.findAll('.tab').at(0).find('.close-icon') @@ -118,7 +134,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = mount(Tabs, { store, stubs: ['router-link'] }) + const wrapper = mount(Tabs, { + store, + stubs: ['router-link'] + }) // click on the close icon of the second tab const secondTabCloseIcon = wrapper.findAll('.tab').at(1).find('.close-icon') @@ -156,7 +175,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = mount(Tabs, { store, stubs: ['router-link'] }) + const wrapper = mount(Tabs, { + store, + stubs: ['router-link'] + }) // click on the close icon of the second tab const secondTabCloseIcon = wrapper.findAll('.tab').at(1).find('.close-icon') @@ -198,7 +220,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = mount(Tabs, { store, stubs: ['router-link'] }) + const wrapper = mount(Tabs, { + store, + stubs: ['router-link'] + }) // click on the close icon of the second tab const secondTabCloseIcon = wrapper.findAll('.tab').at(1).find('.close-icon') @@ -243,7 +268,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = shallowMount(Tabs, { store }) + const wrapper = shallowMount(Tabs, { + store, + stubs: ['router-link'] + }) const event = new Event('beforeunload') sinon.spy(event, 'preventDefault') @@ -264,7 +292,10 @@ describe('Tabs.vue', () => { const store = new Vuex.Store({ state, mutations }) // mount the component - const wrapper = shallowMount(Tabs, { store }) + const wrapper = shallowMount(Tabs, { + store, + stubs: ['router-link'] + }) const event = new Event('beforeunload') sinon.spy(event, 'preventDefault')