diff --git a/rewrite-javascript/rewrite/test/javascript/recipes/add-dependency.test.ts b/rewrite-javascript/rewrite/test/javascript/recipes/add-dependency.test.ts index 5afe724277..8fda810d60 100644 --- a/rewrite-javascript/rewrite/test/javascript/recipes/add-dependency.test.ts +++ b/rewrite-javascript/rewrite/test/javascript/recipes/add-dependency.test.ts @@ -25,6 +25,7 @@ import {Json} from "../../../src/json"; import {RecipeSpec} from "../../../src/test"; import {withDir} from "tmp-promise"; import {findMarker, MarkersKind} from "../../../src"; +import * as semver from "semver"; describe("AddDependency", () => { @@ -346,10 +347,10 @@ describe("AddDependency", () => { throw new Error(`Expected root dependency lodash to be ^4.17.21, got ${rootPkg?.dependencies?.["lodash"]}`); } - // lodash should be in node_modules + // lodash should be in node_modules with a version satisfying ^4.17.21 const lodashPkg = lockData.packages["node_modules/lodash"]; - if (!lodashPkg?.version?.startsWith("4.17.")) { - throw new Error(`Expected lodash version to start with 4.17., got ${lodashPkg?.version}`); + if (!lodashPkg?.version || !semver.satisfies(lodashPkg.version, "^4.17.21")) { + throw new Error(`Expected lodash version satisfying ^4.17.21, got ${lodashPkg?.version}`); } return actual; diff --git a/rewrite-javascript/rewrite/test/javascript/recipes/upgrade-dependency-version.test.ts b/rewrite-javascript/rewrite/test/javascript/recipes/upgrade-dependency-version.test.ts index 4307ff6c3f..7232d24884 100644 --- a/rewrite-javascript/rewrite/test/javascript/recipes/upgrade-dependency-version.test.ts +++ b/rewrite-javascript/rewrite/test/javascript/recipes/upgrade-dependency-version.test.ts @@ -26,6 +26,7 @@ import {RecipeSpec} from "../../../src/test"; import {withDir} from "tmp-promise"; import * as fs from "fs"; import * as path from "path"; +import * as semver from "semver"; describe("UpgradeDependencyVersion", () => { @@ -505,9 +506,11 @@ describe("UpgradeDependencyVersion", () => { const marker = findNodeResolutionResult(doc); expect(marker).toBeDefined(); expect(marker!.dependencies[0].versionConstraint).toBe("^4.17.23"); - // The resolved version should still be 4.17.23 (unchanged) + // The resolved version should still satisfy ^4.17.23 (unchanged) // This proves we didn't run npm install - just updated the constraint - expect(marker!.resolvedDependencies?.[0]?.version).toBe("4.17.23"); + const resolvedVersion = marker!.resolvedDependencies?.[0]?.version; + expect(resolvedVersion).toBeDefined(); + expect(semver.satisfies(resolvedVersion!, "^4.17.23")).toBe(true); } } )