From de7ba08b7f46dbeb3a17c4f67f4a85b365c52c18 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Tue, 24 Aug 2021 12:22:51 +0300
Subject: [PATCH] test: Explicit snapshots for mix and nodenv managers (#11405)

---
 .../mix/__snapshots__/artifacts.spec.ts.snap  | 33 ------------------
 .../mix/__snapshots__/extract.spec.ts.snap    |  6 ----
 lib/manager/mix/artifacts.spec.ts             | 13 +++----
 lib/manager/mix/extract.spec.ts               | 29 ++++++++++++----
 .../nodenv/__snapshots__/extract.spec.ts.snap | 34 -------------------
 lib/manager/nodenv/extract.spec.ts            | 30 ++++++++++++----
 6 files changed, 54 insertions(+), 91 deletions(-)
 delete mode 100644 lib/manager/nodenv/__snapshots__/extract.spec.ts.snap

diff --git a/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap b/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap
index 89ff2f1dc2..c2ab6ca91a 100644
--- a/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap
@@ -40,28 +40,6 @@ Array [
 ]
 `;
 
-exports[`manager/mix/artifacts catches exec errors 1`] = `
-Array [
-  Object {
-    "artifactError": Object {
-      "lockFile": "mix.lock",
-      "stderr": "exec-error",
-    },
-  },
-]
-`;
-
-exports[`manager/mix/artifacts catches write errors 1`] = `
-Array [
-  Object {
-    "artifactError": Object {
-      "lockFile": "mix.lock",
-      "stderr": "not found",
-    },
-  },
-]
-`;
-
 exports[`manager/mix/artifacts returns null if unchanged 1`] = `
 Array [
   Object {
@@ -86,17 +64,6 @@ Array [
 `;
 
 exports[`manager/mix/artifacts returns updated mix.lock 1`] = `
-Array [
-  Object {
-    "file": Object {
-      "contents": "New mix.lock",
-      "name": "mix.lock",
-    },
-  },
-]
-`;
-
-exports[`manager/mix/artifacts returns updated mix.lock 2`] = `
 Array [
   Object {
     "cmd": "docker pull renovate/elixir",
diff --git a/lib/manager/mix/__snapshots__/extract.spec.ts.snap b/lib/manager/mix/__snapshots__/extract.spec.ts.snap
index 534e510e7c..5fc1978e1f 100644
--- a/lib/manager/mix/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/mix/__snapshots__/extract.spec.ts.snap
@@ -69,9 +69,3 @@ Object {
   ],
 }
 `;
-
-exports[`manager/mix/extract extractPackageFile() returns empty for invalid dependency file 1`] = `
-Object {
-  "deps": Array [],
-}
-`;
diff --git a/lib/manager/mix/artifacts.spec.ts b/lib/manager/mix/artifacts.spec.ts
index 0878c42962..fb9d0eb019 100644
--- a/lib/manager/mix/artifacts.spec.ts
+++ b/lib/manager/mix/artifacts.spec.ts
@@ -87,7 +87,6 @@ describe('manager/mix/artifacts', () => {
     fs.getSiblingFileName.mockReturnValueOnce('mix.lock');
     const execSnapshots = mockExecAll(exec);
     fs.readLocalFile.mockResolvedValueOnce('New mix.lock');
-    // FIXME: explicit assert condition
     expect(
       await updateArtifacts({
         packageFileName: 'mix.exs',
@@ -95,7 +94,7 @@ describe('manager/mix/artifacts', () => {
         newPackageFileContent: '{}',
         config,
       })
-    ).toMatchSnapshot();
+    ).toEqual([{ file: { contents: 'New mix.lock', name: 'mix.lock' } }]);
     expect(execSnapshots).toMatchSnapshot();
   });
 
@@ -161,7 +160,6 @@ describe('manager/mix/artifacts', () => {
     fs.writeLocalFile.mockImplementationOnce(() => {
       throw new Error('not found');
     });
-    // FIXME: explicit assert condition
     expect(
       await updateArtifacts({
         packageFileName: 'mix.exs',
@@ -169,7 +167,9 @@ describe('manager/mix/artifacts', () => {
         newPackageFileContent: '{}',
         config,
       })
-    ).toMatchSnapshot();
+    ).toEqual([
+      { artifactError: { lockFile: 'mix.lock', stderr: 'not found' } },
+    ]);
   });
 
   it('catches exec errors', async () => {
@@ -178,7 +178,6 @@ describe('manager/mix/artifacts', () => {
     exec.mockImplementationOnce(() => {
       throw new Error('exec-error');
     });
-    // FIXME: explicit assert condition
     expect(
       await updateArtifacts({
         packageFileName: 'mix.exs',
@@ -186,6 +185,8 @@ describe('manager/mix/artifacts', () => {
         newPackageFileContent: '{}',
         config,
       })
-    ).toMatchSnapshot();
+    ).toEqual([
+      { artifactError: { lockFile: 'mix.lock', stderr: 'exec-error' } },
+    ]);
   });
 });
diff --git a/lib/manager/mix/extract.spec.ts b/lib/manager/mix/extract.spec.ts
index 1e6636a492..009fd1a560 100644
--- a/lib/manager/mix/extract.spec.ts
+++ b/lib/manager/mix/extract.spec.ts
@@ -11,15 +11,32 @@ describe('manager/mix/extract', () => {
 
   describe('extractPackageFile()', () => {
     it('returns empty for invalid dependency file', async () => {
-      // FIXME: explicit assert condition
-      expect(
-        await extractPackageFile('nothing here', 'mix.exs')
-      ).toMatchSnapshot();
+      const { deps } = await extractPackageFile('nothing here', 'mix.exs');
+      expect(deps).toBeEmpty();
     });
     it('extracts all dependencies', async () => {
-      // FIXME: explicit assert condition
       const res = await extractPackageFile(sample, 'mix.exs');
-      expect(res).toMatchSnapshot();
+      expect(res).toMatchSnapshot({
+        deps: [
+          { depName: 'postgrex', currentValue: '~> 0.8.1' },
+          { depName: 'ecto', currentValue: '>2.1.0 or <=3.0.0' },
+          {
+            depName: 'cowboy',
+            currentValue: 'ninenines/cowboy',
+            datasource: 'github',
+            skipReason: 'non-hex depTypes',
+          },
+          {
+            depName: 'secret',
+            currentValue: '~> 1.0',
+            datasource: 'hex',
+            lookupName: 'secret:acme',
+          },
+          { depName: 'ex_doc', currentValue: '>2.1.0 and <=3.0.0' },
+          { depName: 'jason', currentValue: '>= 1.0.0' },
+          { depName: 'jason', currentValue: '~> 1.0' },
+        ],
+      });
     });
   });
 });
diff --git a/lib/manager/nodenv/__snapshots__/extract.spec.ts.snap b/lib/manager/nodenv/__snapshots__/extract.spec.ts.snap
deleted file mode 100644
index 33e59360cb..0000000000
--- a/lib/manager/nodenv/__snapshots__/extract.spec.ts.snap
+++ /dev/null
@@ -1,34 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`manager/nodenv/extract extractPackageFile() returns a result 1`] = `
-Array [
-  Object {
-    "currentValue": "8.4.0",
-    "datasource": "github-tags",
-    "depName": "node",
-    "lookupName": "nodejs/node",
-  },
-]
-`;
-
-exports[`manager/nodenv/extract extractPackageFile() skips non ranges 1`] = `
-Array [
-  Object {
-    "currentValue": "latestn",
-    "datasource": "github-tags",
-    "depName": "node",
-    "lookupName": "nodejs/node",
-  },
-]
-`;
-
-exports[`manager/nodenv/extract extractPackageFile() supports ranges 1`] = `
-Array [
-  Object {
-    "currentValue": "8.4",
-    "datasource": "github-tags",
-    "depName": "node",
-    "lookupName": "nodejs/node",
-  },
-]
-`;
diff --git a/lib/manager/nodenv/extract.spec.ts b/lib/manager/nodenv/extract.spec.ts
index 65b8ec4bea..df3bbe180f 100644
--- a/lib/manager/nodenv/extract.spec.ts
+++ b/lib/manager/nodenv/extract.spec.ts
@@ -4,18 +4,36 @@ describe('manager/nodenv/extract', () => {
   describe('extractPackageFile()', () => {
     it('returns a result', () => {
       const res = extractPackageFile('8.4.0\n');
-      // FIXME: explicit assert condition
-      expect(res.deps).toMatchSnapshot();
+      expect(res.deps).toEqual([
+        {
+          currentValue: '8.4.0',
+          datasource: 'github-tags',
+          depName: 'node',
+          lookupName: 'nodejs/node',
+        },
+      ]);
     });
     it('supports ranges', () => {
       const res = extractPackageFile('8.4\n');
-      // FIXME: explicit assert condition
-      expect(res.deps).toMatchSnapshot();
+      expect(res.deps).toEqual([
+        {
+          currentValue: '8.4',
+          datasource: 'github-tags',
+          depName: 'node',
+          lookupName: 'nodejs/node',
+        },
+      ]);
     });
     it('skips non ranges', () => {
       const res = extractPackageFile('latestn');
-      // FIXME: explicit assert condition
-      expect(res.deps).toMatchSnapshot();
+      expect(res.deps).toEqual([
+        {
+          currentValue: 'latestn',
+          datasource: 'github-tags',
+          depName: 'node',
+          lookupName: 'nodejs/node',
+        },
+      ]);
     });
   });
 });
-- 
GitLab