Мне нужно смоделировать модуль узла «mkdirp-promise», который предоставляет функцию конструктора, как показано ниже.
mkdirpPromise(dirPath)
.then(() => {
console.log('ABCDEFGH');
resolve(dirPath);
})
.catch((error) => {
console.log('HeABCDEFGHre');
const details = error.message;
const err = customError.failed_create_downloads_directory()
.withDetails(details);
reject(err);
});
Я могу издеваться над ним, используя proxiquire, как показано ниже: -
let mkdirpPromiseMock = sinon.stub().rejects();
const sthreeDownloadMock =
proxyquire('./../../modules/sThreeDownload', {
joi: joiMock,
fs: fsMock,
'@monotype/core-error': {
errors: {
ApiError: customErrorMock,
},
},
'aws-sdk': awsSDK,
'mkdirp-promise': mkdirpPromiseMock,
path: pathMock,
});
Теперь я хочу переопределить mkdirpPromiseMock во втором тестовом примере с помощью
mkdirpPromiseMock = sinon.stub().resolves();
чего я не умею. Любая помощь приветствуется.