diff options
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/AppHeader.spec.js | 62 | ||||
-rw-r--r-- | tests/unit/AppNavigation.spec.js | 37 |
2 files changed, 99 insertions, 0 deletions
diff --git a/tests/unit/AppHeader.spec.js b/tests/unit/AppHeader.spec.js new file mode 100644 index 00000000..6dea960b --- /dev/null +++ b/tests/unit/AppHeader.spec.js @@ -0,0 +1,62 @@ +import { mount } from '@vue/test-utils'; +import Vue from 'vue'; +import AppHeader from '@/components/AppHeader'; +import $store from '@/store'; +import { BootstrapVue } from 'bootstrap-vue'; + +describe('AppHeader.vue', () => { + let wrapper; + let spy; + Vue.use(BootstrapVue); + + wrapper = mount(AppHeader, { + mocks: { + $t: key => key, + $store + } + }); + + beforeEach(() => { + spy = sinon.spy($store.dispatch); + }); + + describe('Component exists', () => { + it('should check if AppHeader exists', async () => { + expect(wrapper.exists()); + }); + }); + + describe('AppHeader methods', () => { + it('should call getHostInfo and dispatch global/getHostStatus', async () => { + wrapper.vm.getHostInfo(); + spy('global/getHostStatus'); + expect(spy).to.have.been.calledWith('global/getHostStatus'); + }); + + it('should call getEvents and dispatch eventLog/getEventLogData', async () => { + wrapper.vm.getEvents(); + spy('eventLog/getEventLogData'); + expect(spy).to.have.been.calledWith('eventLog/getEventLogData'); + }); + + it('should call refresh and emit refresh', async () => { + spy = sinon.spy(wrapper.vm.$emit); + wrapper.vm.refresh(); + spy('refresh'); + expect(spy).to.have.been.calledWith('refresh'); + }); + + it('should call logout and dispatch authentication/logout', async () => { + wrapper.vm.logout(); + spy('authentication/logout'); + expect(spy).to.have.been.calledWith('authentication/logout'); + }); + + it('should call toggleNavigation and dispatch toggle:navigation', async () => { + spy = sinon.spy(wrapper.vm.$root.$emit); + wrapper.vm.toggleNavigation(); + spy('toggle:navigation'); + expect(spy).to.have.been.calledWith('toggle:navigation'); + }); + }); +}); diff --git a/tests/unit/AppNavigation.spec.js b/tests/unit/AppNavigation.spec.js new file mode 100644 index 00000000..3424f698 --- /dev/null +++ b/tests/unit/AppNavigation.spec.js @@ -0,0 +1,37 @@ +import { mount } from '@vue/test-utils'; +import AppNavigation from '@/components/AppNavigation'; +import Vue from 'vue'; +import { BootstrapVue } from 'bootstrap-vue'; + +describe('AppNavigation.vue', () => { + let wrapper; + Vue.use(BootstrapVue); + + wrapper = mount(AppNavigation, { + mocks: { + $t: key => key + } + }); + + describe('Component exists', () => { + it('should check if AppNavigation exists', async () => { + expect(wrapper.exists()); + }); + }); + + describe('Methods', () => { + describe('toggleIsOpen method', () => { + it('should call toggleIsOpen and toggle isNavigationOpen to false', async () => { + wrapper.vm.isNavigationOpen = true; + wrapper.vm.toggleIsOpen(); + expect(wrapper.vm.isNavigationOpen).to.be.false; + }); + + it('should call toggleIsOpen and toggle isNavigationOpen to true', async () => { + wrapper.vm.isNavigationOpen = false; + wrapper.vm.toggleIsOpen(); + expect(wrapper.vm.isNavigationOpen).to.be.true; + }); + }); + }); +}); |