Files
cypress/packages/server/lib/util/tests_utils.ts

26 lines
614 B
TypeScript

import _ from 'lodash'
export const flattenSuiteIntoRunnables = (suite, tests = [], hooks = []) => {
if (_.isArray(suite)) {
return _.map(suite, (s) => flattenSuiteIntoRunnables(s))
.reduce(
(arr1, arr2) => [arr1[0].concat(arr2[0]), arr1[1].concat(arr2[1])],
[tests, hooks],
)
}
// if we dont have a suite, return early
if (!suite || !suite.suites) {
return [tests, hooks]
}
tests = tests.concat(suite.tests)
hooks = hooks.concat(suite.hooks)
if (suite.suites.length) {
return flattenSuiteIntoRunnables(suite.suites, tests, hooks)
}
return [tests, hooks]
}