diff options
Diffstat (limited to 'spec/frontend/cycle_analytics')
-rw-r--r-- | spec/frontend/cycle_analytics/path_navigation_spec.js | 6 | ||||
-rw-r--r-- | spec/frontend/cycle_analytics/stage_table_spec.js | 23 | ||||
-rw-r--r-- | spec/frontend/cycle_analytics/value_stream_metrics_spec.js | 6 |
3 files changed, 25 insertions, 10 deletions
diff --git a/spec/frontend/cycle_analytics/path_navigation_spec.js b/spec/frontend/cycle_analytics/path_navigation_spec.js index c6d72d3b571..e8c4ebd3a38 100644 --- a/spec/frontend/cycle_analytics/path_navigation_spec.js +++ b/spec/frontend/cycle_analytics/path_navigation_spec.js @@ -1,4 +1,4 @@ -import { GlPath, GlDeprecatedSkeletonLoading as GlSkeletonLoading } from '@gitlab/ui'; +import { GlPath, GlSkeletonLoader } from '@gitlab/ui'; import { mount } from '@vue/test-utils'; import { mockTracking, unmockTracking } from 'helpers/tracking_helper'; import { extendedWrapper } from 'helpers/vue_test_utils_helper'; @@ -73,7 +73,7 @@ describe('Project PathNavigation', () => { }); it('hides the gl-skeleton-loading component', () => { - expect(wrapper.find(GlSkeletonLoading).exists()).toBe(false); + expect(wrapper.find(GlSkeletonLoader).exists()).toBe(false); }); it('renders each stage', () => { @@ -116,7 +116,7 @@ describe('Project PathNavigation', () => { }); it('displays the gl-skeleton-loading component', () => { - expect(wrapper.find(GlSkeletonLoading).exists()).toBe(true); + expect(wrapper.find(GlSkeletonLoader).exists()).toBe(true); }); }); }); diff --git a/spec/frontend/cycle_analytics/stage_table_spec.js b/spec/frontend/cycle_analytics/stage_table_spec.js index 0d15d67866d..473e1d5b664 100644 --- a/spec/frontend/cycle_analytics/stage_table_spec.js +++ b/spec/frontend/cycle_analytics/stage_table_spec.js @@ -27,6 +27,7 @@ const findTableHeadColumns = () => findTableHead().findAll('th'); const findStageEventTitle = (ev) => extendedWrapper(ev).findByTestId('vsa-stage-event-title'); const findStageEventLink = (ev) => extendedWrapper(ev).findByTestId('vsa-stage-event-link'); const findStageTime = () => wrapper.findByTestId('vsa-stage-event-time'); +const findStageLastEvent = () => wrapper.findByTestId('vsa-stage-last-event'); const findIcon = (name) => wrapper.findByTestId(`${name}-icon`); function createComponent(props = {}, shallow = false) { @@ -128,6 +129,10 @@ describe('StageTable', () => { expect(findStageTime().text()).toBe(createdAt); }); + it('will render the end event', () => { + expect(findStageLastEvent().text()).toBe(firstIssueEvent.endEventTimestamp); + }); + it('will render the author', () => { expect(wrapper.findByTestId('vsa-stage-event-author').text()).toContain( firstIssueEvent.author.name, @@ -303,10 +308,20 @@ describe('StageTable', () => { wrapper.destroy(); }); - it('can sort the table by each column', () => { - findTableHeadColumns().wrappers.forEach((w) => { - expect(w.attributes('aria-sort')).toBe('none'); - }); + it('can sort the end event or duration', () => { + findTableHeadColumns() + .wrappers.slice(1) + .forEach((w) => { + expect(w.attributes('aria-sort')).toBe('none'); + }); + }); + + it('cannot be sorted by title', () => { + findTableHeadColumns() + .wrappers.slice(0, 1) + .forEach((w) => { + expect(w.attributes('aria-sort')).toBeUndefined(); + }); }); it('clicking a table column will send tracking information', () => { diff --git a/spec/frontend/cycle_analytics/value_stream_metrics_spec.js b/spec/frontend/cycle_analytics/value_stream_metrics_spec.js index 4a3e8146b13..df86b10cba3 100644 --- a/spec/frontend/cycle_analytics/value_stream_metrics_spec.js +++ b/spec/frontend/cycle_analytics/value_stream_metrics_spec.js @@ -1,4 +1,4 @@ -import { GlDeprecatedSkeletonLoading as GlSkeletonLoading } from '@gitlab/ui'; +import { GlSkeletonLoader } from '@gitlab/ui'; import { nextTick } from 'vue'; import metricsData from 'test_fixtures/projects/analytics/value_stream_analytics/summary.json'; import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; @@ -61,7 +61,7 @@ describe('ValueStreamMetrics', () => { it('will display a loader with pending requests', async () => { await nextTick(); - expect(wrapper.findComponent(GlSkeletonLoading).exists()).toBe(true); + expect(wrapper.findComponent(GlSkeletonLoader).exists()).toBe(true); }); describe('with data loaded', () => { @@ -88,7 +88,7 @@ describe('ValueStreamMetrics', () => { }); it('will not display a loading icon', () => { - expect(wrapper.find(GlSkeletonLoading).exists()).toBe(false); + expect(wrapper.findComponent(GlSkeletonLoader).exists()).toBe(false); }); describe('filterFn', () => { |