mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-28 22:15:12 -04:00
test(config-mocks): extend TestSetupBuilder.create to use mock config object
Signed-off-by: Philip Molares <philip.molares@udo.edu>
This commit is contained in:
parent
cf89ecf29c
commit
965162e1c2
1 changed files with 66 additions and 15 deletions
|
@ -22,14 +22,39 @@ import { TokenAuthGuard } from '../src/auth/token.strategy';
|
||||||
import { AuthorsModule } from '../src/authors/authors.module';
|
import { AuthorsModule } from '../src/authors/authors.module';
|
||||||
import { AppConfig } from '../src/config/app.config';
|
import { AppConfig } from '../src/config/app.config';
|
||||||
import { AuthConfig } from '../src/config/auth.config';
|
import { AuthConfig } from '../src/config/auth.config';
|
||||||
|
import { CustomizationConfig } from '../src/config/customization.config';
|
||||||
|
import { DatabaseConfig } from '../src/config/database.config';
|
||||||
|
import { ExternalServicesConfig } from '../src/config/external-services.config';
|
||||||
import { MediaConfig } from '../src/config/media.config';
|
import { MediaConfig } from '../src/config/media.config';
|
||||||
import appConfigMock from '../src/config/mock/app.config.mock';
|
import {
|
||||||
import authConfigMock from '../src/config/mock/auth.config.mock';
|
createDefaultMockAppConfig,
|
||||||
import customizationConfigMock from '../src/config/mock/customization.config.mock';
|
registerAppConfig,
|
||||||
import databaseConfigMock from '../src/config/mock/database.config.mock';
|
} from '../src/config/mock/app.config.mock';
|
||||||
import externalServicesConfigMock from '../src/config/mock/external-services.config.mock';
|
import {
|
||||||
import mediaConfigMock from '../src/config/mock/media.config.mock';
|
createDefaultMockAuthConfig,
|
||||||
import noteConfigMock from '../src/config/mock/note.config.mock';
|
registerAuthConfig,
|
||||||
|
} from '../src/config/mock/auth.config.mock';
|
||||||
|
import {
|
||||||
|
createDefaultMockCustomizationConfig,
|
||||||
|
registerCustomizationConfig,
|
||||||
|
} from '../src/config/mock/customization.config.mock';
|
||||||
|
import {
|
||||||
|
createDefaultMockDatabaseConfig,
|
||||||
|
registerDatabaseConfig,
|
||||||
|
} from '../src/config/mock/database.config.mock';
|
||||||
|
import {
|
||||||
|
createDefaultMockExternalServicesConfig,
|
||||||
|
registerExternalServiceConfig,
|
||||||
|
} from '../src/config/mock/external-services.config.mock';
|
||||||
|
import {
|
||||||
|
createDefaultMockMediaConfig,
|
||||||
|
registerMediaConfig,
|
||||||
|
} from '../src/config/mock/media.config.mock';
|
||||||
|
import {
|
||||||
|
createDefaultMockNoteConfig,
|
||||||
|
registerNoteConfig,
|
||||||
|
} from '../src/config/mock/note.config.mock';
|
||||||
|
import { NoteConfig } from '../src/config/note.config';
|
||||||
import { ErrorExceptionMapping } from '../src/errors/error-mapping';
|
import { ErrorExceptionMapping } from '../src/errors/error-mapping';
|
||||||
import { eventModuleConfig } from '../src/events';
|
import { eventModuleConfig } from '../src/events';
|
||||||
import { FrontendConfigModule } from '../src/frontend-config/frontend-config.module';
|
import { FrontendConfigModule } from '../src/frontend-config/frontend-config.module';
|
||||||
|
@ -58,6 +83,16 @@ import { User } from '../src/users/user.entity';
|
||||||
import { UsersModule } from '../src/users/users.module';
|
import { UsersModule } from '../src/users/users.module';
|
||||||
import { UsersService } from '../src/users/users.service';
|
import { UsersService } from '../src/users/users.service';
|
||||||
|
|
||||||
|
interface CreateTestSetupParameters {
|
||||||
|
appConfigMock?: AppConfig;
|
||||||
|
authConfigMock?: AuthConfig;
|
||||||
|
customizationConfigMock?: CustomizationConfig;
|
||||||
|
databaseConfigMock?: DatabaseConfig;
|
||||||
|
externalServicesConfigMock?: ExternalServicesConfig;
|
||||||
|
mediaConfigMock?: MediaConfig;
|
||||||
|
noteConfigMock?: NoteConfig;
|
||||||
|
}
|
||||||
|
|
||||||
export class TestSetup {
|
export class TestSetup {
|
||||||
moduleRef: TestingModule;
|
moduleRef: TestingModule;
|
||||||
app: NestExpressApplication;
|
app: NestExpressApplication;
|
||||||
|
@ -187,7 +222,7 @@ export class TestSetupBuilder {
|
||||||
/**
|
/**
|
||||||
* Creates a new instance of TestSetupBuilder
|
* Creates a new instance of TestSetupBuilder
|
||||||
*/
|
*/
|
||||||
public static create(): TestSetupBuilder {
|
public static create(mocks?: CreateTestSetupParameters): TestSetupBuilder {
|
||||||
const testSetupBuilder = new TestSetupBuilder();
|
const testSetupBuilder = new TestSetupBuilder();
|
||||||
testSetupBuilder.testId =
|
testSetupBuilder.testId =
|
||||||
'hedgedoc_test_' + Math.random().toString(36).substring(2, 15);
|
'hedgedoc_test_' + Math.random().toString(36).substring(2, 15);
|
||||||
|
@ -210,13 +245,29 @@ export class TestSetupBuilder {
|
||||||
ConfigModule.forRoot({
|
ConfigModule.forRoot({
|
||||||
isGlobal: true,
|
isGlobal: true,
|
||||||
load: [
|
load: [
|
||||||
appConfigMock,
|
registerAppConfig(
|
||||||
databaseConfigMock,
|
mocks?.appConfigMock ?? createDefaultMockAppConfig(),
|
||||||
noteConfigMock,
|
),
|
||||||
authConfigMock,
|
registerAuthConfig(
|
||||||
mediaConfigMock,
|
mocks?.authConfigMock ?? createDefaultMockAuthConfig(),
|
||||||
customizationConfigMock,
|
),
|
||||||
externalServicesConfigMock,
|
registerCustomizationConfig(
|
||||||
|
mocks?.customizationConfigMock ??
|
||||||
|
createDefaultMockCustomizationConfig(),
|
||||||
|
),
|
||||||
|
registerDatabaseConfig(
|
||||||
|
mocks?.databaseConfigMock ?? createDefaultMockDatabaseConfig(),
|
||||||
|
),
|
||||||
|
registerExternalServiceConfig(
|
||||||
|
mocks?.externalServicesConfigMock ??
|
||||||
|
createDefaultMockExternalServicesConfig(),
|
||||||
|
),
|
||||||
|
registerMediaConfig(
|
||||||
|
mocks?.mediaConfigMock ?? createDefaultMockMediaConfig(),
|
||||||
|
),
|
||||||
|
registerNoteConfig(
|
||||||
|
mocks?.noteConfigMock ?? createDefaultMockNoteConfig(),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
NotesModule,
|
NotesModule,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue