From 8e0c2861aa247d42703375c9b0c6cd5267e0a53b Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Thu, 4 Mar 2021 23:49:34 +0400
Subject: [PATCH] refactor(npm): More tests for 'replace' strategy (#8991)

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
---
 lib/versioning/npm/index.spec.ts | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/lib/versioning/npm/index.spec.ts b/lib/versioning/npm/index.spec.ts
index a3b7cfe6ba..510f0652a8 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(
-- 
GitLab