diff --git a/packages/hoppscotch-app/helpers/RequestRunner.ts b/packages/hoppscotch-app/helpers/RequestRunner.ts index 27fbfcb8f..b171b072f 100644 --- a/packages/hoppscotch-app/helpers/RequestRunner.ts +++ b/packages/hoppscotch-app/helpers/RequestRunner.ts @@ -5,7 +5,11 @@ import { flow, pipe } from "fp-ts/function" import * as O from "fp-ts/Option" import * as A from "fp-ts/Array" import { Environment } from "@hoppscotch/data" -import { runTestScript, TestDescriptor } from "@hoppscotch/js-sandbox" +import { + SandboxTestResult, + runTestScript, + TestDescriptor, +} from "@hoppscotch/js-sandbox" import { isRight } from "fp-ts/Either" import { getCombinedEnvVariables, @@ -25,7 +29,6 @@ import { setGlobalEnvVariables, updateEnvironment, } from "~/newstore/environments" -import { TestResult } from "~/../hoppscotch-js-sandbox/lib/test-runner" const getTestableBody = ( res: HoppRESTResponse & { type: "success" | "fail" } @@ -151,7 +154,9 @@ const getUpdatedEnvVariables = ( A.filterMap( flow( O.fromPredicate( - (x) => current.findIndex((y) => y.key === x.key) !== -1 + (x) => + current.findIndex((y) => x.key === y.key && x.value !== y.value) === + -1 ), O.map((x) => ({ ...x, @@ -162,7 +167,7 @@ const getUpdatedEnvVariables = ( ) function translateToSandboxTestResults( - testDesc: TestResult & { tests: TestDescriptor } + testDesc: SandboxTestResult ): HoppTestResult { const translateChildTests = (child: TestDescriptor): HoppTestData => { return { diff --git a/packages/hoppscotch-js-sandbox/src/index.ts b/packages/hoppscotch-js-sandbox/src/index.ts index 297df1105..a41a29fac 100644 --- a/packages/hoppscotch-js-sandbox/src/index.ts +++ b/packages/hoppscotch-js-sandbox/src/index.ts @@ -9,6 +9,8 @@ import { } from "./test-runner" export type TestDescriptor = _TestDescriptor +export type SandboxTestResult = TestResult & { tests: TestDescriptor } + /** * Executes a given test script on the test-runner sandbox * @param testScript The string of the script to run @@ -22,7 +24,7 @@ export const runTestScript = ( pipe( execTestScript(testScript, envs, response), TE.chain((results) => - TE.right({ + TE.right({ envs: results.envs, tests: results.tests[0], })