I am new to nodejs and unit tests, stuck with the implementation with .on(), please can you provide me the unit tests for this one?
async function getFile(req, res) {
const { logger, span } = startLogger(req, FILE)
try {
logger.info(`info`)
request.get({ url: `http://localhost:3000`})
.on('response', response => {
if (response.statusCode === 200) {
res.writeHead(200, {'Content-Type': 'application/octet-stream', 'Content-Disposition': `attachment; filename=file.zip`})
} else {
prefixedLogger.error(`Failed ${response.statusCode}`)
res.writeHead(response.statusCode)
}
})
.on('error', error => {
Logger.error(error)
finishSpanError(span, error, Logger)
res.writeHead(500)
res.end()
})
.on('end', () => {
Logger.trace('ALM download stream complete')
terminateSpan(span, Logger)
res.end()
})
.pipe(res)
} catch (error) {
Logger.error(error)
finishSpanError(span, Logger)
res.writeHead(500)
res.end()
}
}
Since this is something new for me, I am taking longer than expected.