Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/runner/components/runner_jobs_table_spec.js')
-rw-r--r--spec/frontend/runner/components/runner_jobs_table_spec.js119
1 files changed, 0 insertions, 119 deletions
diff --git a/spec/frontend/runner/components/runner_jobs_table_spec.js b/spec/frontend/runner/components/runner_jobs_table_spec.js
deleted file mode 100644
index 5f4905ad2a8..00000000000
--- a/spec/frontend/runner/components/runner_jobs_table_spec.js
+++ /dev/null
@@ -1,119 +0,0 @@
-import { GlTableLite } from '@gitlab/ui';
-import {
- extendedWrapper,
- shallowMountExtended,
- mountExtended,
-} from 'helpers/vue_test_utils_helper';
-import { __, s__ } from '~/locale';
-import { getIdFromGraphQLId } from '~/graphql_shared/utils';
-import RunnerJobsTable from '~/runner/components/runner_jobs_table.vue';
-import { useFakeDate } from 'helpers/fake_date';
-import { runnerJobsData } from '../mock_data';
-
-const mockJobs = runnerJobsData.data.runner.jobs.nodes;
-
-describe('RunnerJobsTable', () => {
- let wrapper;
- const mockNow = '2021-01-15T12:00:00Z';
- const mockOneHourAgo = '2021-01-15T11:00:00Z';
-
- useFakeDate(mockNow);
-
- const findTable = () => wrapper.findComponent(GlTableLite);
- const findHeaders = () => wrapper.findAll('th');
- const findRows = () => wrapper.findAll('[data-testid^="job-row-"]');
- const findCell = ({ field }) =>
- extendedWrapper(findRows().at(0).find(`[data-testid="td-${field}"]`));
-
- const createComponent = ({ props = {} } = {}, mountFn = shallowMountExtended) => {
- wrapper = mountFn(RunnerJobsTable, {
- propsData: {
- jobs: mockJobs,
- ...props,
- },
- stubs: {
- GlTableLite,
- },
- });
- };
-
- afterEach(() => {
- wrapper.destroy();
- });
-
- it('Sets job id as a row key', () => {
- createComponent();
-
- expect(findTable().attributes('primarykey')).toBe('id');
- });
-
- describe('Table data', () => {
- beforeEach(() => {
- createComponent({}, mountExtended);
- });
-
- it('Displays headers', () => {
- const headerLabels = findHeaders().wrappers.map((w) => w.text());
-
- expect(headerLabels).toEqual([
- s__('Job|Status'),
- __('Job'),
- __('Project'),
- __('Commit'),
- s__('Job|Finished at'),
- s__('Runners|Tags'),
- ]);
- });
-
- it('Displays a list of jobs', () => {
- expect(findRows()).toHaveLength(1);
- });
-
- it('Displays details of a job', () => {
- const { id, detailedStatus, pipeline, shortSha, commitPath } = mockJobs[0];
-
- expect(findCell({ field: 'status' }).text()).toMatchInterpolatedText(detailedStatus.text);
-
- expect(findCell({ field: 'job' }).text()).toContain(`#${getIdFromGraphQLId(id)}`);
- expect(findCell({ field: 'job' }).find('a').attributes('href')).toBe(
- detailedStatus.detailsPath,
- );
-
- expect(findCell({ field: 'project' }).text()).toBe(pipeline.project.name);
- expect(findCell({ field: 'project' }).find('a').attributes('href')).toBe(
- pipeline.project.webUrl,
- );
-
- expect(findCell({ field: 'commit' }).text()).toBe(shortSha);
- expect(findCell({ field: 'commit' }).find('a').attributes('href')).toBe(commitPath);
- });
- });
-
- describe('Table data formatting', () => {
- let mockJobsCopy;
-
- beforeEach(() => {
- mockJobsCopy = [
- {
- ...mockJobs[0],
- },
- ];
- });
-
- it('Formats finishedAt time', () => {
- mockJobsCopy[0].finishedAt = mockOneHourAgo;
-
- createComponent({ props: { jobs: mockJobsCopy } }, mountExtended);
-
- expect(findCell({ field: 'finished_at' }).text()).toBe('1 hour ago');
- });
-
- it('Formats tags', () => {
- mockJobsCopy[0].tags = ['tag-1', 'tag-2'];
-
- createComponent({ props: { jobs: mockJobsCopy } }, mountExtended);
-
- expect(findCell({ field: 'tags' }).text()).toMatchInterpolatedText('tag-1 tag-2');
- });
- });
-});