summaryrefslogtreecommitdiff
path: root/spec/frontend/cycle_analytics/total_time_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/cycle_analytics/total_time_spec.js')
-rw-r--r--spec/frontend/cycle_analytics/total_time_spec.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/spec/frontend/cycle_analytics/total_time_spec.js b/spec/frontend/cycle_analytics/total_time_spec.js
new file mode 100644
index 00000000000..8cf9feab6e9
--- /dev/null
+++ b/spec/frontend/cycle_analytics/total_time_spec.js
@@ -0,0 +1,45 @@
+import { mount } from '@vue/test-utils';
+import TotalTime from '~/cycle_analytics/components/total_time.vue';
+
+describe('TotalTime', () => {
+ let wrapper = null;
+
+ const createComponent = (propsData) => {
+ return mount(TotalTime, {
+ propsData,
+ });
+ };
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ describe('with a valid time object', () => {
+ it.each`
+ time
+ ${{ seconds: 35 }}
+ ${{ mins: 47, seconds: 3 }}
+ ${{ days: 3, mins: 47, seconds: 3 }}
+ ${{ hours: 23, mins: 10 }}
+ ${{ hours: 7, mins: 20, seconds: 10 }}
+ `('with $time', ({ time }) => {
+ wrapper = createComponent({
+ time,
+ });
+
+ expect(wrapper.html()).toMatchSnapshot();
+ });
+ });
+
+ describe('with a blank object', () => {
+ beforeEach(() => {
+ wrapper = createComponent({
+ time: {},
+ });
+ });
+
+ it('should render --', () => {
+ expect(wrapper.html()).toMatchSnapshot();
+ });
+ });
+});