UNPKG

skutter

Version:

Skutter: Opinionated BDD Browser based test framework

38 lines (37 loc) 2.25 kB
"use strict"; const Lazy = require("lazy.js"); const result_types_1 = require("../result-aggregator/result-types"); class RunTotalsCalculator { static get(results) { let featureResults = Lazy(results); let totalFeatures = featureResults.size(); let passedFeatures = featureResults.where((feature) => { return feature.result === result_types_1.ResultTypes.Passed; }).size(); let failedFeatures = featureResults.where((feature) => { return feature.result === result_types_1.ResultTypes.Failed; }).size(); let erroredFeatures = featureResults.where((feature) => { return feature.result === result_types_1.ResultTypes.Errored; }).size(); let skippedFeatures = featureResults.where((feature) => { return feature.result === result_types_1.ResultTypes.Skipped; }).size(); let totalDuration = featureResults.map((featureResult) => { return featureResult.feature.durationMiliseconds; }).sum() / 1000; let totalScenarios = featureResults.map((feature) => { return feature.getScenarioCount(); }).sum(); let passedScenarios = featureResults.map((feature) => { return feature.getScenarioCount(result_types_1.ResultTypes.Passed); }).sum(); let failedScenarios = featureResults.map((feature) => { return feature.getScenarioCount(result_types_1.ResultTypes.Failed); }).sum(); let erroredScenarios = featureResults.map((feature) => { return feature.getScenarioCount(result_types_1.ResultTypes.Errored); }).sum(); let skippedScenarios = featureResults.map((feature) => { return feature.getScenarioCount(result_types_1.ResultTypes.Skipped); }).sum(); return { features: { total: totalFeatures, passed: passedFeatures, failed: failedFeatures, errored: erroredFeatures, skipped: skippedFeatures, duration: totalDuration }, scenarios: { total: totalScenarios, passed: passedScenarios, failed: failedScenarios, errored: erroredScenarios, skipped: skippedScenarios } }; } } exports.RunTotalsCalculator = RunTotalsCalculator;