test: Implement integration.ts for near full stack integration testing

This commit is contained in:
Anmol Sethi
2021-01-14 10:53:58 -05:00
parent 64e915de4a
commit 240c8e266e
3 changed files with 46 additions and 2 deletions

16
test/integration.ts Normal file
View File

@@ -0,0 +1,16 @@
import { createApp } from "../src/node/app"
import { register } from "../src/node/routes"
import { parse, setDefaults, parseConfigFile, DefaultedArgs } from "../src/node/cli"
import * as httpserver from "./httpserver"
import * as express from "express"
export async function setup(argv: string[], configFile?: string): Promise<[express.Application, express.Application, httpserver.HttpServer, DefaultedArgs]> {
const cliArgs = parse(argv)
let configArgs = parseConfigFile(configFile || "", "test/integration.ts")
const args = await setDefaults(cliArgs, configArgs)
const [app, wsApp, server] = await createApp(args)
await register(app, wsApp, server, args)
return [app, wsApp, new httpserver.HttpServer(server), args]
}