blob: 6dea960b47d3736884c0ea6131410787ce1522b1 [file] [log] [blame]
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');
});
});
});