Add spec files for the components

 - AppHeader.js
 - AppNavigation.js

Signed-off-by: Sukanya Pandey <sukapan1@in.ibm.com>
Change-Id: I55bbd16349dcf134b68fe33ba7cc26f29a98cfc7
diff --git a/tests/unit/AppHeader.spec.js b/tests/unit/AppHeader.spec.js
new file mode 100644
index 0000000..6dea960
--- /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');
+    });
+  });
+});