diff --git a/lib/versioning/npm/index.spec.ts b/lib/versioning/npm/index.spec.ts
index a3b7cfe6ba81a9d32cb14f9c5f920e10dcd6c6bc..510f0652a8767ec4ce2f2f207f6acaf5953b5dc6 100644
--- a/lib/versioning/npm/index.spec.ts
+++ b/lib/versioning/npm/index.spec.ts
@@ -71,14 +71,29 @@ describe('semver.getNewValue()', () => {
     ).toEqual('^1.0.7-prerelease.1');
   });
   it('replaces with newer', () => {
-    expect(
-      semver.getNewValue({
-        currentValue: '^1.0.0',
-        rangeStrategy: 'replace',
-        currentVersion: '1.0.0',
-        newVersion: '1.0.7',
-      })
-    ).toEqual('^1.0.7');
+    [
+      ['^0.0.3', '0.0.6', '^0.0.6'],
+      ['^0.0.3', '0.5.0', '^0.5.0'],
+      ['^0.0.3', '0.5.6', '^0.5.0'],
+      ['^0.0.3', '4.0.0', '^4.0.0'],
+      ['^0.0.3', '4.0.6', '^4.0.0'],
+      ['^0.0.3', '4.5.6', '^4.0.0'],
+      ['^0.2.0', '0.5.6', '^0.5.0'],
+      ['^0.2.3', '0.5.0', '^0.5.0'],
+      ['^0.2.3', '0.5.6', '^0.5.0'],
+      ['^1.2.3', '4.0.0', '^4.0.0'],
+      ['^1.2.3', '4.5.6', '^4.0.0'],
+      ['^1.0.0', '4.5.6', '^4.0.0'],
+    ].forEach(([currentValue, newVersion, expectedValue]) => {
+      expect(
+        semver.getNewValue({
+          currentValue,
+          rangeStrategy: 'replace',
+          currentVersion: currentValue.replace('^', ''),
+          newVersion,
+        })
+      ).toEqual(expectedValue);
+    });
   });
   it('supports tilde greater than', () => {
     expect(