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