41 lines
889 B
JavaScript
41 lines
889 B
JavaScript
'use strict'
|
|
|
|
const test = require('node:test')
|
|
const proxyquire = require('proxyquire')
|
|
const tspl = require('@matteo.collina/tspl')
|
|
|
|
test('should import', async (t) => {
|
|
const plan = tspl(t, { plan: 2 })
|
|
const mockRealRequire = (target) => {
|
|
return {
|
|
default: {
|
|
default: () => {
|
|
plan.equal(target, 'pino-pretty')
|
|
return Promise.resolve()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const mockRealImport = async () => {
|
|
await Promise.resolve()
|
|
throw Object.assign(new Error(), { code: 'ERR_MODULE_NOT_FOUND' })
|
|
}
|
|
|
|
const loadTransportStreamBuilder = proxyquire(
|
|
'../lib/transport-stream.js',
|
|
{
|
|
'real-require': {
|
|
realRequire: mockRealRequire,
|
|
realImport: mockRealImport
|
|
}
|
|
}
|
|
)
|
|
|
|
const fn = await loadTransportStreamBuilder('pino-pretty')
|
|
|
|
await fn()
|
|
plan.ok('returned promise resolved')
|
|
|
|
await plan
|
|
})
|