| 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'); |
| }); |
| }); |
| }); |