import { Express } from 'express' import mongoose, { Mongoose } from 'mongoose' import { MongoMemoryServer } from 'mongodb-memory-server' import request from 'supertest' import appPromise from '../../../app' import { UserController, ClientController } from '../../../controllers/' const clientId = 'someclientID' const clientSecret = 'someclientSecret' const user = { id: 1234, displayName: 'Test User', username: 'testusername', password: '87654321', isAdmin: false, isActive: true } describe('web', () => { let app: Express let con: Mongoose let mongoServer: MongoMemoryServer const userController = new UserController() const clientController = new ClientController() beforeAll(async () => { app = await appPromise mongoServer = await MongoMemoryServer.create() con = await mongoose.connect(mongoServer.getUri()) await clientController.createClient({ clientId, clientSecret }) }) afterAll(async () => { await con.connection.dropDatabase() await con.connection.close() await mongoServer.stop() }) describe('home', () => { it('should respond with CSRF Token', async () => { const res = await request(app).get('/').expect(200) expect(res.text).toMatch( /