static async fromRequest()

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;
    }