Skip to content

Commit

Permalink
BC-8908 - MongoMemoryDatabaseModule move to @testing (#5496)
Browse files Browse the repository at this point in the history
  • Loading branch information
SevenWaysDP authored and Fshmit committed Feb 7, 2025
1 parent 6251c35 commit d8a803d
Show file tree
Hide file tree
Showing 93 changed files with 126 additions and 129 deletions.
1 change: 0 additions & 1 deletion apps/server/src/infra/database/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
export * from './mongo-memory-database';
export * from './management';
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { DatabaseManagementModule } from './database-management.module';
import { DatabaseManagementService } from './database-management.service';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { MikroORM } from '@mikro-orm/core';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { Test, TestingModule } from '@nestjs/testing';
import { createCollections } from '@testing/create-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { DatabaseManagementService } from './database-management.service';

const randomChars = () => new ObjectId().toHexString();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { ConfigModule } from '@nestjs/config';
import { IdentityManagementService } from './identity-management.service';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { IdentityManagementModule } from './identity-management.module';
import { IdentityManagementService } from './identity-management.service';

describe('IdentityManagementModule', () => {
let module: TestingModule;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { ConfigModule } from '@nestjs/config';
import { KeycloakConfigurationModule } from './keycloak-configuration.module';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { KeycloakConsole } from './console/keycloak-configuration.console';
import { KeycloakConfigurationModule } from './keycloak-configuration.module';
import { KeycloakConfigurationService } from './service/keycloak-configuration.service';
import { KeycloakSeedService } from './service/keycloak-seed.service';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { LoggerModule } from '@core/logger';
import { MongoMemoryDatabaseModule } from '@infra/database';
import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';
import AuthenticationExecutionExportRepresentation from '@keycloak/keycloak-admin-client/lib/defs/authenticationExecutionExportRepresentation';
import AuthenticationFlowRepresentation from '@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation';
import { EntityManager } from '@mikro-orm/mongodb';
import { systemEntityFactory } from '@modules/system/testing';
import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { v1 } from 'uuid';
import { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';
import { KeycloakConfigurationModule } from '../keycloak-configuration.module';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { LoggerModule } from '@core/logger';
import { MongoMemoryDatabaseModule } from '@infra/database';
import KeycloakAdminClient from '@keycloak/keycloak-admin-client';
import { EntityManager } from '@mikro-orm/mongodb';
import { AccountEntity } from '@modules/account/domain/entity/account.entity';
import { accountFactory } from '@modules/account/testing';
import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { v1 } from 'uuid';
import { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';
import { KeycloakConfigurationModule } from '../keycloak-configuration.module';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import KeycloakAdminClient from '@keycloak/keycloak-admin-client';
import { LoggerModule } from '@core/logger';
import { faker } from '@faker-js/faker';
import KeycloakAdminClient from '@keycloak/keycloak-admin-client';
import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { LoggerModule } from '@core/logger';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { v1 } from 'uuid';
import { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';
import { KeycloakConfigurationModule } from '../keycloak-configuration.module';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { KeycloakModule } from './keycloak.module';
import { KeycloakIdentityManagementService } from './service/keycloak-identity-management.service';
import { KeycloakIdentityManagementOauthService } from './service/keycloak-identity-management-oauth.service';
import { KeycloakIdentityManagementService } from './service/keycloak-identity-management.service';

describe('KeycloakModule', () => {
let module: TestingModule;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { LoggerModule } from '@core/logger';
import { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';
import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';
import { LoggerModule } from '@core/logger';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { v1 } from 'uuid';
import { KeycloakAdministrationModule } from '../../keycloak-administration/keycloak-administration.module';
import { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Logger } from '@core/logger';
import { createMock, DeepMocked } from '@golevelup/ts-jest';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager } from '@mikro-orm/mongodb';
import { SystemType } from '@modules/system';
import { systemEntityFactory } from '@modules/system/testing';
Expand All @@ -9,6 +8,7 @@ import { SchoolEntity } from '@shared/domain/entity';
import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';
import { SchoolFeature } from '@shared/domain/types';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { schoolEntityFactory } from '@testing/factory/school-entity.factory';
import { TspLegacyMigrationSystemMissingLoggable } from './loggable/tsp-legacy-migration-system-missing.loggable';
import { TspLegacyMigrationService } from './tsp-legacy-migration.service';
Expand Down
4 changes: 2 additions & 2 deletions apps/server/src/modules/account/account.module.spec.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { ConfigModule } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { AccountModule } from './account.module';
import { AccountIdmToDoMapper, AccountIdmToDoMapperDb, AccountIdmToDoMapperIdm } from './repo/micro-orm/mapper';
import { AccountService } from './domain/services/account.service';
import { AccountIdmToDoMapper, AccountIdmToDoMapperDb, AccountIdmToDoMapperIdm } from './repo/micro-orm/mapper';

describe('AccountModule', () => {
let module: TestingModule;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { Logger } from '@core/logger';
import { faker } from '@faker-js/faker';
import { createMock, DeepMocked } from '@golevelup/ts-jest';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { IdentityManagementOauthService, IdentityManagementService } from '@infra/identity-management';
import { NotImplementedException } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { Test, TestingModule } from '@nestjs/testing';
import { EntityNotFoundError } from '@shared/common/error';
import { IdmAccount } from '@shared/domain/interface';
import { Logger } from '@core/logger';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { Account, AccountSave } from '..';
import { AccountConfig } from '../../account-config';
import { AccountIdmToDoMapper, AccountIdmToDoMapperDb } from '../../repo/micro-orm/mapper';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Logger } from '@core/logger';
import { createMock } from '@golevelup/ts-jest';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { IdentityManagementModule, IdentityManagementService } from '@infra/identity-management';
import { KeycloakAdministrationService } from '@infra/identity-management/keycloak-administration/service/keycloak-administration.service';
import { KeycloakIdentityManagementService } from '@infra/identity-management/keycloak/service/keycloak-identity-management.service';
Expand All @@ -12,6 +11,7 @@ import { Test, TestingModule } from '@nestjs/testing';
import { IdmAccount } from '@shared/domain/interface';
import { UserRepo } from '@shared/repo/user';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { v1 } from 'uuid';
import { Account, AccountSave } from '..';
import { AccountRepo } from '../../repo/micro-orm/account.repo';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityData, NotFoundError } from '@mikro-orm/core';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { Test, TestingModule } from '@nestjs/testing';
import { User } from '@shared/domain/entity';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { userFactory } from '@testing/factory/user.factory';
import { Account } from '../../domain';
import { AccountEntity } from '../../domain/entity/account.entity';
import { accountDoFactory, accountFactory } from '../../testing';
import { AccountRepo } from './account.repo';
import { AccountEntityToDoMapper } from './mapper';
import { AccountDoToEntityMapper } from './mapper/account-do-to-entity.mapper';
import { Account } from '../../domain';

class AccountTestRepo extends AccountRepo {
mapDOToEntityPropertiesSpec(entityDO: Account): EntityData<AccountEntity> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { CoreModule } from '@core/core.module';
import { DB_PASSWORD, DB_URL, DB_USERNAME } from '@imports-from-feathers';
import { AuthGuardModule, AuthGuardOptions } from '@infra/auth-guard';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { RabbitMQWrapperModule } from '@infra/rabbitmq';
import { MikroOrmModule } from '@mikro-orm/nestjs';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { createConfigModuleOptions } from '@shared/common/config-module-options';
import { defaultMikroOrmOptions } from '@shared/common/defaultMikroOrmOptions';
import { ALL_ENTITIES } from '@shared/domain/entity/all-entities';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { AuthorizationModule } from '../authorization';
import { serverConfig } from '../server';
import { config } from './board-collaboration.config';
Expand Down
2 changes: 1 addition & 1 deletion apps/server/src/modules/board/repo/board-node.repo.spec.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager } from '@mikro-orm/mongodb';
import { Test, TestingModule } from '@nestjs/testing';
import { BaseEntityWithTimestamps } from '@shared/domain/entity';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { ColumnBoard } from '../domain';
import { cardFactory, columnBoardFactory, columnFactory } from '../testing';
import { BoardNodeRepo } from './board-node.repo';
Expand Down
2 changes: 1 addition & 1 deletion apps/server/src/modules/class/repo/classes.repo.spec.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { classEntityFactory } from '@modules/class/entity/testing/factory/class.entity.factory';
import { Test } from '@nestjs/testing';
import { TestingModule } from '@nestjs/testing/testing-module';
import { NotFoundLoggableException } from '@shared/common/loggable-exception';
import { SchoolEntity } from '@shared/domain/entity';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { schoolEntityFactory } from '@testing/factory/school-entity.factory';
import { randomUUID } from 'crypto';
import { Class } from '../domain';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Test, TestingModule } from '@nestjs/testing';
import { DeepMocked } from '@golevelup/ts-jest';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { Test, TestingModule } from '@nestjs/testing';
import { defaultMikroOrmOptions } from '@shared/common/defaultMikroOrmOptions';
import { DeletionExecutionConsole } from './deletion-execution.console';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { DeletionExecutionTriggerResultBuilder, TriggerDeletionExecutionOptionsBuilder } from './builder';
import { DeletionExecutionUc } from './uc';
import { DeletionConsoleModule } from './deletion-console.app.module';
import { DeletionExecutionConsole } from './deletion-execution.console';
import { TriggerDeletionExecutionOptions } from './interface';
import { DeletionExecutionUc } from './uc';

describe(DeletionExecutionConsole.name, () => {
let module: TestingModule;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { ObjectId } from 'bson';
import fs from 'fs';
import { Test, TestingModule } from '@nestjs/testing';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { defaultMikroOrmOptions } from '@shared/common/defaultMikroOrmOptions';
import { DeletionQueueConsole } from './deletion-queue.console';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { ObjectId } from 'bson';
import fs from 'fs';
import { PushDeleteRequestsOptionsBuilder } from './builder';
import { BatchDeletionUc } from './uc';
import { UnsyncedEntitiesOptionsBuilder } from './builder/unsynced-entities-options.builder';
import { DeletionConsoleModule } from './deletion-console.app.module';
import { DeletionQueueConsole } from './deletion-queue.console';
import { BatchDeletionUc } from './uc';

describe(DeletionQueueConsole.name, () => {
let module: TestingModule;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { Test } from '@nestjs/testing';
import { TestingModule } from '@nestjs/testing/testing-module';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { DeletionLog } from '../domain/do';
import { deletionLogFactory } from '../domain/testing';
import { DeletionLogRepo } from './deletion-log.repo';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager } from '@mikro-orm/mongodb';
import { Test } from '@nestjs/testing';
import { TestingModule } from '@nestjs/testing/testing-module';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { ObjectId } from 'bson';
import { DeletionRequest } from '../domain/do';
import { deletionRequestFactory } from '../domain/testing';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { CoreModule } from '@core/core.module';
import { LoggerModule } from '@core/logger';
import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';
import { RabbitMQWrapperTestModule } from '@infra/rabbitmq';
import { DynamicModule, Module } from '@nestjs/common';
import { defaultMikroOrmOptions } from '@shared/common/defaultMikroOrmOptions';
import { ALL_ENTITIES } from '@shared/domain/entity';
import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@testing/database';
import { FileRecord } from './entity';
import { FilesStorageApiModule } from './files-storage-api.app.module';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { Test, TestingModule } from '@nestjs/testing';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';

import { FileRecord } from '../entity';
import { FileRecordParentType, StorageLocation } from '../interface';
Expand Down
2 changes: 1 addition & 1 deletion apps/server/src/modules/files/repo/files.repo.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { Test, TestingModule } from '@nestjs/testing';
import { StorageProviderEntity } from '@shared/domain/entity';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { FileEntity } from '../entity';
import { fileEntityFactory, filePermissionEntityFactory } from '../entity/testing';
import { FilesRepo } from './files.repo';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { CoreModule } from '@core/core.module';
import { LoggerModule } from '@core/logger';
import { AuthGuardModule, AuthGuardOptions } from '@infra/auth-guard';
import { MongoMemoryDatabaseModule } from '@infra/database';
import { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';
import { RabbitMQWrapperTestModule } from '@infra/rabbitmq';
import { S3ClientModule } from '@infra/s3-client';
import { AccountEntity } from '@modules/account/domain/entity/account.entity';
Expand All @@ -13,6 +11,7 @@ import { DynamicModule, Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { createConfigModuleOptions } from '@shared/common/config-module-options';
import { Role, SchoolEntity, SchoolYearEntity, User } from '@shared/domain/entity';
import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@testing/database';
import { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';
import { config, s3Config } from './fwu-learning-contents.config';
import { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';
Expand Down
2 changes: 1 addition & 1 deletion apps/server/src/modules/group/repo/group.repo.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { MongoMemoryDatabaseModule } from '@infra/database';
import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
import { type SystemEntity } from '@modules/system/entity';
import { systemEntityFactory } from '@modules/system/testing';
Expand All @@ -8,6 +7,7 @@ import { SchoolEntity, User } from '@shared/domain/entity';
import { RoleName, SortOrder } from '@shared/domain/interface';
import { EntityId } from '@shared/domain/types';
import { cleanupCollections } from '@testing/cleanup-collections';
import { MongoMemoryDatabaseModule } from '@testing/database';
import { courseFactory } from '@testing/factory/course.factory';
import { roleFactory } from '@testing/factory/role.factory';
import { schoolEntityFactory } from '@testing/factory/school-entity.factory';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { CoreModule } from '@core/core.module';
import { LoggerModule } from '@core/logger';
import { AuthorizationClientModule } from '@infra/authorization-client';
import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';
import { RabbitMQWrapperTestModule } from '@infra/rabbitmq';
import { S3ClientModule } from '@infra/s3-client';
import { AuthenticationApiTestModule } from '@modules/authentication/authentication-api-test.module';
import { UserModule } from '@modules/user';
import { DynamicModule, Module } from '@nestjs/common';
import { ALL_ENTITIES } from '@shared/domain/entity';
import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@testing/database';
import { H5PEditorController } from './controller';
import { H5PContent } from './entity';
import { H5PEditorModule } from './h5p-editor.app.module';
Expand Down
Loading

0 comments on commit d8a803d

Please sign in to comment.