in suiteData.js [34:60]
static async fromRequest(request) {
var suiteData = null;
switch (request.method) {
case "GET":
suiteData = await this.getSuiteData(request.query);
break;
case "POST":
let tests = request.body?.tests;
let suiteDataObj = {...request.body};
if (_.isString(tests)) {
const testsDir = path.join(config.testsDir, sanitize(tests));
if (await exists(testsDir)) {
suiteDataObj.tests = (await listDir(testsDir))
.filter(fileName => path.extname(fileName) === '.transcript')
.map(fileName => ({path: path.join(testsDir, fileName)}));
} else {
throw new Error("Request must contain a 'tests' array or directory name containing *.transcript files.");
}
}
suiteData = new SuiteData(suiteDataObj, request.query);
break;
}
if (suiteData) {
await suiteData.init();
}
return suiteData;
}