/* * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import { getConfigToken } from '@nestjs/config'; import { Test } from '@nestjs/testing'; import request from 'supertest'; import { AppModule } from '../src/app.module'; import { BackendType } from '../src/media/backends/backend-type.enum'; describe('App', () => { it('should not crash on requests to /', async () => { const moduleRef = await Test.createTestingModule({ imports: [AppModule], }) .overrideProvider(getConfigToken('appConfig')) .useValue({ domain: 'localhost', port: 3333, loglevel: 'debug', }) .overrideProvider(getConfigToken('mediaConfig')) .useValue({ backend: { use: BackendType.FILESYSTEM, filesystem: { uploadPath: 'test_uploads' + Math.floor(Math.random() * 100000).toString(), }, }, }) .overrideProvider(getConfigToken('databaseConfig')) .useValue({ storage: ':memory:', dialect: 'sqlite', }) .overrideProvider(getConfigToken('authConfig')) .useValue({ session: { secret: 'secret', }, }) .compile(); /** * TODO: This is not really a regression test, as it does not use the * real initialization code in main.ts. * Should be fixed after https://github.com/hedgedoc/hedgedoc/issues/2083 * is done. */ const app = moduleRef.createNestApplication(); await app.init(); await request(app.getHttpServer()).get('/').expect(404); await app.close(); }); });