From 7b86febc87ceaa5976b9ae65cbcd12634084be8f Mon Sep 17 00:00:00 2001 From: lohxt1 Date: Wed, 1 Jan 2025 18:06:13 +0530 Subject: [PATCH] feat: summarize test and assertion results for getTestResults and getAssertionResults fns --- packages/bruno-js/src/runtime/test-runtime.js | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/bruno-js/src/runtime/test-runtime.js b/packages/bruno-js/src/runtime/test-runtime.js index e7e30fa44..74df8d550 100644 --- a/packages/bruno-js/src/runtime/test-runtime.js +++ b/packages/bruno-js/src/runtime/test-runtime.js @@ -32,6 +32,25 @@ const CryptoJS = require('crypto-js'); const NodeVault = require('node-vault'); const { executeQuickJsVmAsync } = require('../sandbox/quickjs'); +const summarizeResults = (results) => { + const summary = { + total: results.length, + passed: 0, + failed: 0, + skipped: 0, + }; + + results.forEach((r) => { + const passed = r.status === "pass"; + if (passed) summary.passed += 1; + else if (r.status === "fail") summary.failed += 1; + else summary.skipped += 1; + }); + + return { summary, results }; +} + + class TestRuntime { constructor(props) { this.runtime = props?.runtime || 'vm2'; @@ -93,10 +112,10 @@ class TestRuntime { bru.getTestResults = async () => { let results = await __brunoTestResults.getResults(); - return results; + return summarizeResults(results); } bru.getAssertionResults = async () => { - return assertionResults + return summarizeResults(assertionResults); } const context = {