31 lines
995 B
JavaScript
31 lines
995 B
JavaScript
import { addIconStatus, formatFilePath, formattedTime } from './utils';
|
|
|
|
export const getTestSuites = (state) => {
|
|
const { test_suites: testSuites = [] } = state.testReports;
|
|
|
|
return testSuites.map((suite) => ({
|
|
...suite,
|
|
formattedTime: formattedTime(suite.total_time),
|
|
}));
|
|
};
|
|
|
|
export const getSelectedSuite = (state) =>
|
|
state.testReports?.test_suites?.[state.selectedSuiteIndex] || {};
|
|
|
|
export const getSuiteTests = (state) => {
|
|
const { test_cases: testCases = [] } = getSelectedSuite(state);
|
|
const { page, perPage } = state.pageInfo;
|
|
const start = (page - 1) * perPage;
|
|
|
|
return testCases
|
|
.map((testCase) => ({
|
|
...testCase,
|
|
classname: testCase.classname || '',
|
|
name: testCase.name || '',
|
|
filePath: testCase.file ? `${state.blobPath}/${formatFilePath(testCase.file)}` : null,
|
|
}))
|
|
.map(addIconStatus)
|
|
.slice(start, start + perPage);
|
|
};
|
|
|
|
export const getSuiteTestCount = (state) => getSelectedSuite(state)?.test_cases?.length || 0;
|