diff --git a/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap b/lib/manager/mix/__snapshots__/artifacts.spec.ts.snap
index 89ff2f1dc2ef32cca61abe2607294ec521e57b6b..c2ab6ca91a12ff3d2384109a7f71bf68e1d7609e 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 534e510e7c14d833fec6f93deb4114def1a89040..5fc1978e1f11c25dd2e11f26ad280b4f9dddc248 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 0878c42962afc97b4ebf09877d1f39aa96fa1e08..fb9d0eb019b2d273b01cb23cb3dfcf632bfbe6a4 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 1e6636a492679bf64e37ed92689c02630fbc6a8c..009fd1a5605bdfa0d469c2390d173965585d1813 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 33e59360cbfa3c6d02cfbb0c090023ca2e55832b..0000000000000000000000000000000000000000
--- 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 65b8ec4beaa87511a009f7e30a9090a17d4e07dd..df3bbe180fbf7ff27637082800b0bdaa76e87be3 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',
+        },
+      ]);
     });
   });
 });