@putout/plugin-convert-mock-require-to-mock-import

putout plugin adds ability to convert mockRequire to mockImport

Usage no npm install needed!

<script type="module">
  import putoutPluginConvertMockRequireToMockImport from 'https://cdn.skypack.dev/@putout/plugin-convert-mock-require-to-mock-import';
</script>

README

@putout/plugin-convert-mock-require-to-mock-import NPM version

🐊Putout plugin adds ability to convert mockRequire to mockImport.

Install

npm i @putout/plugin-convert-mock-require-to-mock-import -D

Rule

Rule convert-mock-require-to-mock-import is enabled by default for *.mjs, to disable add to .putout.json:

{
    "rules": {
        "convert-mock-require-to-mock-import": "off"
    }
}

❌ Incorrect code example

const mockRequire = require('mock-require');
const {reRequire, stopAll} = mockRequire;

test('', (t) => {
    mockRequire('fs/promises', {
        unlink: stub(),
    });
    
    const fn = reRequire('..');
    fn();
    
    stopAll();
    t.end();
});

✅ Correct code Example

import {createMockImport} from 'mock-import';

const {
    mockImport,
    reImport,
    stopAll,
} = createMockImport(import.meta.url);

test('', async (t) => {
    mockImport('fs/promises', {
        unlink: stub(),
    });
    
    const fn = await reImport('..');
    fn();
    
    stopAll();
    t.end();
});

License

MIT