diff options
Diffstat (limited to 'spec/frontend/pipelines/test_reports/stores/getters_spec.js')
-rw-r--r-- | spec/frontend/pipelines/test_reports/stores/getters_spec.js | 73 |
1 files changed, 72 insertions, 1 deletions
diff --git a/spec/frontend/pipelines/test_reports/stores/getters_spec.js b/spec/frontend/pipelines/test_reports/stores/getters_spec.js index 7382a6beefa..f8298fdaba5 100644 --- a/spec/frontend/pipelines/test_reports/stores/getters_spec.js +++ b/spec/frontend/pipelines/test_reports/stores/getters_spec.js @@ -1,6 +1,10 @@ import { getJSONFixture } from 'helpers/fixtures'; import * as getters from '~/pipelines/stores/test_reports/getters'; -import { iconForTestStatus, formattedTime } from '~/pipelines/stores/test_reports/utils'; +import { + iconForTestStatus, + formatFilePath, + formattedTime, +} from '~/pipelines/stores/test_reports/utils'; describe('Getters TestReports Store', () => { let state; @@ -8,6 +12,7 @@ describe('Getters TestReports Store', () => { const testReports = getJSONFixture('pipelines/test_report.json'); const defaultState = { + blobPath: '/test/blob/path', testReports, selectedSuiteIndex: 0, pageInfo: { @@ -17,6 +22,7 @@ describe('Getters TestReports Store', () => { }; const emptyState = { + blobPath: '', testReports: {}, selectedSuite: null, pageInfo: { @@ -74,6 +80,7 @@ describe('Getters TestReports Store', () => { const expected = testReports.test_suites[0].test_cases .map((x) => ({ ...x, + filePath: `${state.blobPath}/${formatFilePath(x.file)}`, formattedTime: formattedTime(x.execution_time), icon: iconForTestStatus(x.status), })) @@ -87,6 +94,70 @@ describe('Getters TestReports Store', () => { expect(getters.getSuiteTests(state)).toEqual([]); }); + + describe('when a test case classname property is null', () => { + it('should return an empty string value for the classname property', () => { + const testCases = testReports.test_suites[0].test_cases; + setupState({ + ...defaultState, + testReports: { + ...testReports, + test_suites: [ + { + test_cases: testCases.map((testCase) => ({ + ...testCase, + classname: null, + })), + }, + ], + }, + }); + + const expected = testCases + .map((x) => ({ + ...x, + classname: '', + filePath: `${state.blobPath}/${formatFilePath(x.file)}`, + formattedTime: formattedTime(x.execution_time), + icon: iconForTestStatus(x.status), + })) + .slice(0, state.pageInfo.perPage); + + expect(getters.getSuiteTests(state)).toEqual(expected); + }); + }); + + describe('when a test case name property is null', () => { + it('should return an empty string value for the name property', () => { + const testCases = testReports.test_suites[0].test_cases; + setupState({ + ...defaultState, + testReports: { + ...testReports, + test_suites: [ + { + test_cases: testCases.map((testCase) => ({ + ...testCase, + name: null, + })), + }, + ], + }, + }); + + const expected = testCases + .map((x) => ({ + ...x, + name: '', + filePath: `${state.blobPath}/${formatFilePath(x.file)}`, + formattedTime: formattedTime(x.execution_time), + icon: iconForTestStatus(x.status), + })) + .slice(0, state.pageInfo.perPage); + + expect(getters.getSuiteTests(state)).toEqual(expected); + }); + }); }); describe('getSuiteTestCount', () => { |