diff --git a/tests/unit/Global/LoadingBar.spec.js b/tests/unit/Global/LoadingBar.spec.js
new file mode 100644
index 0000000..293ceb2
--- /dev/null
+++ b/tests/unit/Global/LoadingBar.spec.js
@@ -0,0 +1,43 @@
+import { mount, createLocalVue } from '@vue/test-utils';
+import LoadingBar from '@/components/Global/LoadingBar';
+import BootstrapVue from 'bootstrap-vue';
+
+const localVue = createLocalVue();
+localVue.use(BootstrapVue);
+
+describe('LoadingBar.vue', () => {
+  const wrapper = mount(LoadingBar, {
+    localVue,
+    data() {
+      return {
+        loadingIndicatorValue: 0,
+        isLoadingComplete: false,
+      };
+    },
+    mocks: {
+      $t: (key) => key,
+    },
+  });
+  it('should exist', () => {
+    expect(wrapper.exists()).toBe(true);
+  });
+  it('should show loading bar element', async () => {
+    await wrapper.setData({
+      isLoadingComplete: false,
+      loadingIndicatorValue: 100,
+    });
+    expect(wrapper.vm.isLoadingComplete).toBe(false);
+    expect(wrapper.find('.progress').exists()).toBe(true);
+  });
+  it('should hide loading bar element', async () => {
+    await wrapper.setData({
+      isLoadingComplete: true,
+      loadingIndicatorValue: 0,
+    });
+    expect(wrapper.vm.isLoadingComplete).toBe(true);
+    expect(wrapper.find('.progress').exists()).toBe(false);
+  });
+  it('should render correctly', () => {
+    expect(wrapper.element).toMatchSnapshot();
+  });
+});
diff --git a/tests/unit/Global/__snapshots__/LoadingBar.spec.js.snap b/tests/unit/Global/__snapshots__/LoadingBar.spec.js.snap
new file mode 100644
index 0000000..3c32790
--- /dev/null
+++ b/tests/unit/Global/__snapshots__/LoadingBar.spec.js.snap
@@ -0,0 +1,9 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`LoadingBar.vue should render correctly 1`] = `
+<transition-stub
+  name="fade"
+>
+  <!---->
+</transition-stub>
+`;
