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/package.json b/tests/package.json index 6bd65bc..e988760 100644 --- a/tests/package.json +++ b/tests/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "express": "^4.18.2", + "changelog-parser": "^3.0.1", "@aws-sdk/client-s3": "^3.408.0", "babelGeneratedDoubleDefault": "file:./local/babelGeneratedDoubleDefault", "eslint": "^8.54.0", diff --git a/tests/tests-node/esmock.node.test.js b/tests/tests-node/esmock.node.test.js index 40c59c7..ebd4d1a 100644 --- a/tests/tests-node/esmock.node.test.js +++ b/tests/tests-node/esmock.node.test.js @@ -5,6 +5,23 @@ 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', { + only: true, + skip: true +}, async () => { + const parseChangelog = await esmock( + '../local/importsChangelogParser.js', {}, { + 'node:fs': { + open: test.mock.fn(), + close: test.mock.fn(), + 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', {}, { 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": {