gitlab-org--gitlab-foss/spec/frontend/vue_shared/security_reports/utils_spec.js

49 lines
1.8 KiB
JavaScript

import {
REPORT_TYPE_SAST,
REPORT_TYPE_SECRET_DETECTION,
REPORT_FILE_TYPES,
} from '~/vue_shared/security_reports/constants';
import {
extractSecurityReportArtifactsFromMergeRequest,
extractSecurityReportArtifactsFromPipeline,
} from '~/vue_shared/security_reports/utils';
import {
securityReportMergeRequestDownloadPathsQueryResponse,
securityReportPipelineDownloadPathsQueryResponse,
sastArtifacts,
secretDetectionArtifacts,
archiveArtifacts,
traceArtifacts,
metadataArtifacts,
} from './mock_data';
describe.each([
[
'extractSecurityReportArtifactsFromMergeRequest',
extractSecurityReportArtifactsFromMergeRequest,
securityReportMergeRequestDownloadPathsQueryResponse,
],
[
'extractSecurityReportArtifactsFromPipelines',
extractSecurityReportArtifactsFromPipeline,
securityReportPipelineDownloadPathsQueryResponse,
],
])('%s', (funcName, extractFunc, response) => {
it.each`
reportTypes | expectedArtifacts
${[]} | ${[]}
${['foo']} | ${[]}
${[REPORT_TYPE_SAST]} | ${sastArtifacts}
${[REPORT_TYPE_SECRET_DETECTION]} | ${secretDetectionArtifacts}
${[REPORT_TYPE_SAST, REPORT_TYPE_SECRET_DETECTION]} | ${[...secretDetectionArtifacts, ...sastArtifacts]}
${[REPORT_FILE_TYPES.ARCHIVE]} | ${archiveArtifacts}
${[REPORT_FILE_TYPES.TRACE]} | ${traceArtifacts}
${[REPORT_FILE_TYPES.METADATA]} | ${metadataArtifacts}
`(
'returns the expected artifacts given report types $reportTypes',
({ reportTypes, expectedArtifacts }) => {
expect(extractFunc(reportTypes, response)).toEqual(expectedArtifacts);
},
);
});