You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
743 B
34 lines
743 B
12 months ago
|
const fs = require('fs')
|
||
|
const path = require('path')
|
||
|
const serverMod = require('./server')
|
||
|
|
||
|
/** @type {import("express").Express & serverMod.ExpressExtension} */
|
||
|
let app
|
||
|
|
||
|
before(async () => {
|
||
|
app = await serverMod.serveNcmApi({})
|
||
|
|
||
|
if (app.server && app.server.address) {
|
||
|
const addr = app.server.address()
|
||
|
if (addr && typeof addr === 'object' && 'port' in addr) {
|
||
|
global.host = `http://localhost:${addr.port}`
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
|
||
|
throw new Error('failed to set up host')
|
||
|
})
|
||
|
|
||
|
after((done) => {
|
||
|
if (app.server) {
|
||
|
app.server.close(done)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
throw new Error('failed to set up server')
|
||
|
})
|
||
|
|
||
|
fs.readdirSync(path.join(__dirname, 'test')).forEach((file) => {
|
||
|
require(path.join(__dirname, 'test', file))
|
||
|
})
|