diff --git a/src/components/CheckBox.vue b/src/components/CheckBox.vue index 8252d43..f3cb823 100644 --- a/src/components/CheckBox.vue +++ b/src/components/CheckBox.vue @@ -2,12 +2,10 @@
-
diff --git a/tests/unit/checkBox.spec.js b/tests/unit/checkBox.spec.js new file mode 100644 index 0000000..4837e8f --- /dev/null +++ b/tests/unit/checkBox.spec.js @@ -0,0 +1,39 @@ +import { expect } from 'chai' +import { shallowMount } from '@vue/test-utils' +import CheckBox from '@/components/CheckBox' + +describe('CheckBox', () => { + it('unchecked by default', () => { + const wrapper = shallowMount(CheckBox, { + propsData: { init: false } + }) + expect(wrapper.find('img').isVisible()).to.equal(false) + }) + + it('gets init state according to passed props', () => { + const wrapperChecked = shallowMount(CheckBox, { + propsData: { init: true } + }) + expect(wrapperChecked.find('img').isVisible()).to.equal(true) + const wrapperUnchecked = shallowMount(CheckBox, { + propsData: { init: false } + }) + expect(wrapperUnchecked.find('img').isVisible()).to.equal(false) + }) + + it('checked on click', async () => { + const wrapper = shallowMount(CheckBox) + await wrapper.trigger('click') + expect(wrapper.find('img').isVisible()).to.equal(true) + }) + + it('emits event on click', async () => { + const wrapper = shallowMount(CheckBox) + await wrapper.trigger('click') + expect(wrapper.emitted().click.length).to.equal(1) + expect(wrapper.emitted().click[0]).to.eql([true]) + await wrapper.trigger('click') + expect(wrapper.emitted().click.length).to.equal(2) + expect(wrapper.emitted().click[1]).to.eql([false]) + }) +}) \ No newline at end of file diff --git a/tests/unit/database.spec.js b/tests/unit/database.spec.js index ea122d3..d4def56 100644 --- a/tests/unit/database.spec.js +++ b/tests/unit/database.spec.js @@ -1,17 +1,3 @@ -/* import { expect } from 'chai' -import { shallowMount } from '@vue/test-utils' -import HelloWorld from '@/components/HelloWorld.vue' - -describe('HelloWorld.vue', () => { - it('renders props.msg when passed', () => { - const msg = 'new message' - const wrapper = shallowMount(HelloWorld, { - propsData: { msg } - }) - expect(wrapper.text()).to.include(msg) - }) -}) - */ import { expect } from 'chai' import initSqlJs from 'sql.js' import db from '@/database.js' diff --git a/tests/unit/store.spec.js b/tests/unit/store.spec.js index 25df8ae..7c55e4a 100644 --- a/tests/unit/store.spec.js +++ b/tests/unit/store.spec.js @@ -25,7 +25,7 @@ describe('mutations', () => { schema }) expect(state.dbName).to.equal('test') - expect(JSON.stringify(state.schema)).to.equal(JSON.stringify(schema)) + expect(state.schema).to.eql(schema) }) it('addTab (new)', () => { @@ -44,7 +44,7 @@ describe('mutations', () => { isUnsaved: true } addTab(state, tab) - expect(JSON.stringify(state.tabs[0])).to.equal(JSON.stringify(tab)) + expect(state.tabs[0]).to.eql(tab) expect(state.untitledLastIndex).to.equal(1) }) @@ -63,7 +63,7 @@ describe('mutations', () => { isUnsaved: false } addTab(state, tab) - expect(JSON.stringify(state.tabs[0])).to.equal(JSON.stringify(tab)) + expect(state.tabs[0]).to.eql(tab) expect(state.untitledLastIndex).to.equal(0) }) @@ -395,7 +395,7 @@ describe('mutations', () => { } setCurrentTab(state, { id: 2 }) - expect(JSON.stringify(state.currentTab)).to.equal('{"id":2}') + expect(state.currentTab).to.eql({ id: 2 }) }) it('updatePredefinedQueries (single)', () => { @@ -412,7 +412,7 @@ describe('mutations', () => { } updatePredefinedQueries(state, query) - expect(JSON.stringify(state.predefinedQueries)).to.equal(`[${JSON.stringify(query)}]`) + expect(state.predefinedQueries).to.eql([query]) }) it('updatePredefinedQueries (array)', () => { @@ -436,6 +436,6 @@ describe('mutations', () => { } updatePredefinedQueries(state, queries) - expect(JSON.stringify(state.predefinedQueries)).to.equal(JSON.stringify(queries)) + expect(state.predefinedQueries).to.eql(queries) }) }) \ No newline at end of file