UNPKG

json-api-nestjs

Version:
88 lines 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.entities = void 0; exports.mockDbPgLiteTestModule = mockDbPgLiteTestModule; exports.dbRandomName = dbRandomName; exports.pullData = pullData; exports.getModuleForPgLite = getModuleForPgLite; exports.getDefaultQuery = getDefaultQuery; const tslib_1 = require("tslib"); const testing_1 = require("@nestjs/testing"); const nestjs_1 = require("@mikro-orm/nestjs"); const core_1 = require("@mikro-orm/core"); const nestjs_shared_1 = require("../../utils/nestjs-shared"); const entities_1 = require("./entities"); const factory_1 = require("../../modules/micro-orm/factory"); const micro_orm_util_service_1 = require("../../modules/micro-orm/service/micro-orm-util.service"); const constants_1 = require("../../constants"); tslib_1.__exportStar(require("./entities"), exports); tslib_1.__exportStar(require("./utils"), exports); const utils_1 = require("./utils"); const constants_2 = require("../../modules/micro-orm/constants"); const json_api_transformer_service_1 = require("../../modules/mixin/service/json-api-transformer.service"); exports.entities = [entities_1.Users, entities_1.UserGroups, entities_1.Roles, entities_1.Comments, entities_1.Addresses, entities_1.Notes]; function mockDbPgLiteTestModule(dbName = `test_db_${Date.now()}`) { const mikroORM = { provide: core_1.MikroORM, useFactory: async () => { const knexInst = await (0, utils_1.sharedConnect)(); return (0, utils_1.initMikroOrm)(knexInst, dbName); }, }; return { module: nestjs_1.MikroOrmModule, providers: [mikroORM], exports: [mikroORM], }; } const readOnlyDbName = `readonly_db_${Date.now()}`; function dbRandomName(readOnly = false) { if (readOnly) { return readOnlyDbName; } return `test_db_${Date.now()}`; } async function pullData(em, count = 1) { for (let i = 0; i < count; i++) { await (0, utils_1.pullAllData)(em); } } function getModuleForPgLite(entity, dbName = `test_db_${Date.now()}`) { return testing_1.Test.createTestingModule({ imports: [mockDbPgLiteTestModule(dbName)], providers: [ (0, factory_1.CurrentMicroOrmProvider)(), (0, factory_1.CurrentEntityManager)(), (0, factory_1.CurrentEntityMetadata)(), (0, factory_1.CurrentEntityRepository)(entity), micro_orm_util_service_1.MicroOrmUtilService, { provide: constants_1.CURRENT_ENTITY, useValue: entity, }, (0, factory_1.OrmServiceFactory)(), (0, factory_1.EntityPropsMap)(exports.entities), { provide: constants_1.GLOBAL_MODULE_OPTIONS_TOKEN, useValue: { options: { arrayType: constants_2.DEFAULT_ARRAY_TYPE } }, }, json_api_transformer_service_1.JsonApiTransformerService, ], }).compile(); } function getDefaultQuery() { return { [nestjs_shared_1.QueryField.filter]: { relation: null, target: null, }, [nestjs_shared_1.QueryField.fields]: null, [nestjs_shared_1.QueryField.include]: null, [nestjs_shared_1.QueryField.sort]: null, [nestjs_shared_1.QueryField.page]: { size: 1, number: 1, }, }; } //# sourceMappingURL=index.js.map