From 42cce95ed0dc38888c4437d252a6b1ea25913781 Mon Sep 17 00:00:00 2001 From: lana-k Date: Wed, 1 Sep 2021 22:27:51 +0200 Subject: [PATCH] fix errors in tests --- tests/views/Main/Workspace/Schema/Schema.spec.js | 7 +++++-- .../Tabs/Tab/DataView/Pivot/Pivot.spec.js | 5 +++++ tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js | 14 ++++++++++---- .../{Editor.spec.js => Workspace.spec.js} | 8 ++++++-- 4 files changed, 26 insertions(+), 8 deletions(-) rename tests/views/Main/Workspace/{Editor.spec.js => Workspace.spec.js} (78%) diff --git a/tests/views/Main/Workspace/Schema/Schema.spec.js b/tests/views/Main/Workspace/Schema/Schema.spec.js index aac991d..9e25a1e 100644 --- a/tests/views/Main/Workspace/Schema/Schema.spec.js +++ b/tests/views/Main/Workspace/Schema/Schema.spec.js @@ -2,6 +2,8 @@ import { expect } from 'chai' import sinon from 'sinon' import { mount, createLocalVue } from '@vue/test-utils' import Vuex from 'vuex' +import actions from '@/store/actions' +import mutations from '@/store/mutations' import Schema from '@/views/Main/Workspace/Schema' import TableDescription from '@/views/Main/Workspace/Schema/TableDescription' import database from '@/lib/database' @@ -140,14 +142,15 @@ describe('Schema.vue', () => { }) const state = { - db: database.getNewDatabase() + db: database.getNewDatabase(), + tabs: [] } state.db.dbName = 'db' state.db.execute('CREATE TABLE foo(id)') state.db.refreshSchema() sinon.spy(state.db, 'refreshSchema') - const store = new Vuex.Store({ state }) + const store = new Vuex.Store({ state, actions, mutations }) const wrapper = mount(Schema, { store, localVue }) sinon.spy(wrapper.vm.$refs.addCsv, 'previewCsv') sinon.spy(wrapper.vm, 'addCsv') diff --git a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js b/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js index dab042e..125f8c7 100644 --- a/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js +++ b/tests/views/Main/Workspace/Tabs/Tab/DataView/Pivot/Pivot.spec.js @@ -2,8 +2,12 @@ import { expect } from 'chai' import { mount } from '@vue/test-utils' import Pivot from '@/views/Main/Workspace/Tabs/Tab/DataView/Pivot' import $ from 'jquery' +import sinon from 'sinon' describe('Pivot.vue', () => { + afterEach(() => { + sinon.restore() + }) it('renders pivot table', () => { const wrapper = mount(Pivot, { propsData: { @@ -191,6 +195,7 @@ describe('Pivot.vue', () => { rendererName: 'Custom chart', rendererOptions: { customChartComponent: { + $mount: sinon.stub(), getOptionsForSave () { return { here_are: 'custom chart settings' } } diff --git a/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js b/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js index 055ca68..3cf2201 100644 --- a/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js +++ b/tests/views/Main/Workspace/Tabs/Tab/Tab.spec.js @@ -231,8 +231,11 @@ describe('Tab.vue', () => { it('Passes result to sql-table component', async () => { const result = { - id: [1, 2], - name: ['foo', 'bar'] + columns: ['id', 'name'], + values: { + id: [1, 2], + name: ['foo', 'bar'] + } } // mock store state const state = { @@ -269,8 +272,11 @@ describe('Tab.vue', () => { it('Updates schema after query execution', async () => { const result = { - id: [], - name: [] + columns: ['id', 'name'], + values: { + id: [], + name: [] + } } // mock store state diff --git a/tests/views/Main/Workspace/Editor.spec.js b/tests/views/Main/Workspace/Workspace.spec.js similarity index 78% rename from tests/views/Main/Workspace/Editor.spec.js rename to tests/views/Main/Workspace/Workspace.spec.js index f129cd4..3f7c725 100644 --- a/tests/views/Main/Workspace/Editor.spec.js +++ b/tests/views/Main/Workspace/Workspace.spec.js @@ -1,6 +1,7 @@ import { expect } from 'chai' import { mount } from '@vue/test-utils' import actions from '@/store/actions' +import mutations from '@/store/mutations' import Vuex from 'vuex' import Workspace from '@/views/Main/Workspace' @@ -10,8 +11,11 @@ describe('Workspace.vue', () => { db: {}, tabs: [] } - const store = new Vuex.Store({ state, actions }) - mount(Workspace, { store }) + const store = new Vuex.Store({ state, actions, mutations }) + mount(Workspace, { + store, + stubs: ['router-link'] + }) expect(state.tabs[0].query).to.include('Your database is empty.') expect(state.tabs[0].tempName).to.equal('Untitled')