UNPKG

@josselinesanchez/data-base-connector

Version:

Conector de base de datos simple y escalable con soporte para MongoDB, escrito en **TypeScript**, usando patrón **Factory** y **Singleton**.

33 lines (32 loc) 1.43 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const DatabaseConnectorFactory_1 = require("../factories/DatabaseConnectorFactory"); const DatabaseType_1 = require("../types/DatabaseType"); const mongodb_memory_server_1 = require("mongodb-memory-server"); const mongoose_1 = __importDefault(require("mongoose")); describe('MongoConnector (in-memory)', () => { let mongoServer; const connector = DatabaseConnectorFactory_1.DatabaseConnectorFactory.create(DatabaseType_1.DatabaseType.MONGO); beforeAll(async () => { mongoServer = await mongodb_memory_server_1.MongoMemoryServer.create(); const uri = mongoServer.getUri(); await connector.connect(uri, { serverSelectionTimeoutMS: 3000, }); }); it('should return a valid mongoose connection', () => { const connection = connector.getConnection(); expect(connection).toBeDefined(); expect(connection).toBe(mongoose_1.default.connection); }); it('should not reconnect if already connected (singleton)', async () => { await expect(connector.connect(mongoServer.getUri())).resolves.not.toThrow(); }); afterAll(async () => { await connector.disconnect(); await mongoServer.stop(); }); });