From 09c61f061fc942c458e0ba54564d18c4ae7a8b0d Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 2 Oct 2024 12:42:41 -0700 Subject: [PATCH 1/3] add failing test, re issue 312 --- tests/local/importsChangelogParser.js | 3 +++ tests/tests-node/esmock.node.test.js | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 tests/local/importsChangelogParser.js diff --git a/tests/local/importsChangelogParser.js b/tests/local/importsChangelogParser.js new file mode 100644 index 0000000..4869b25 --- /dev/null +++ b/tests/local/importsChangelogParser.js @@ -0,0 +1,3 @@ +import parseChangelog from 'changelog-parser' + +export default parseChangelog diff --git a/tests/tests-node/esmock.node.test.js b/tests/tests-node/esmock.node.test.js index 4323d11..d5fe134 100644 --- a/tests/tests-node/esmock.node.test.js +++ b/tests/tests-node/esmock.node.test.js @@ -5,6 +5,18 @@ import esmock from 'esmock' import sinon from 'sinon' import esmockCache from '../../src/esmockCache.js' +// https://github.com/iambumblehead/esmock/issues/312 +test('should mock changelog-parser', {skip: true}, async () => { + const parseChangelog = await esmock( + '../local/importsChangelogParser.js', {}, { + 'node:fs': { + read: test.mock.fn(() => 'content') + } + }) + + assert.strictEqual(await parseChangelog({ filePath: 'fake' }), 'content') +}) + test('should mock node:process', async () => { // has direct and in-direct calls to `process.cwd()` const thingBeingTested = await esmock('../local/usesNodeProcess.js', {}, { From d91771a2bc4c768f6b972d83cd22ce4fd4580582 Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 2 Oct 2024 12:50:46 -0700 Subject: [PATCH 2/3] skip: false --- tests/tests-node/esmock.node.test.js | 4 +++- tests/tests-node/package.json | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/tests-node/esmock.node.test.js b/tests/tests-node/esmock.node.test.js index d5fe134..86244d3 100644 --- a/tests/tests-node/esmock.node.test.js +++ b/tests/tests-node/esmock.node.test.js @@ -6,10 +6,12 @@ import sinon from 'sinon' import esmockCache from '../../src/esmockCache.js' // https://github.com/iambumblehead/esmock/issues/312 -test('should mock changelog-parser', {skip: true}, async () => { +test('should mock changelog-parser', {skip: false}, async () => { const parseChangelog = await esmock( '../local/importsChangelogParser.js', {}, { 'node:fs': { + open: test.mock.fn(), + close: test.mock.fn(), read: test.mock.fn(() => 'content') } }) diff --git a/tests/tests-node/package.json b/tests/tests-node/package.json index 5bf8edd..4906a3b 100644 --- a/tests/tests-node/package.json +++ b/tests/tests-node/package.json @@ -10,6 +10,7 @@ "sinon": "file:../node_modules/sinon", "eslint": "file:../node_modules/eslint", "form-urlencoded": "file:../node_modules/form-urlencoded", + "changelog-parser": "file:../node_modules/changelog-parser", "babelGeneratedDoubleDefault": "file:../local/babelGeneratedDoubleDefault" }, "scripts": { From 46a2a408bd09f7a6672c766cb6982e2d0ed9361f Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 2 Oct 2024 13:05:40 -0700 Subject: [PATCH 3/3] { only: true, skip: true } --- tests/tests-node/esmock.node.test.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/tests-node/esmock.node.test.js b/tests/tests-node/esmock.node.test.js index 86244d3..c6138f6 100644 --- a/tests/tests-node/esmock.node.test.js +++ b/tests/tests-node/esmock.node.test.js @@ -6,7 +6,10 @@ import sinon from 'sinon' import esmockCache from '../../src/esmockCache.js' // https://github.com/iambumblehead/esmock/issues/312 -test('should mock changelog-parser', {skip: false}, async () => { +test('should mock changelog-parser', { + only: true, + skip: true +}, async () => { const parseChangelog = await esmock( '../local/importsChangelogParser.js', {}, { 'node:fs': {