Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

411
Vistas
Pruebas unitarias en ts-jest con entidades TypeOrm

Estoy tratando de escribir pruebas, pero recibo un error. Creo que tengo un problema con la conexión. "No se puede ejecutar la operación en la conexión "predeterminada" porque la conexión aún no se ha establecido".

tengo la carpeta de pruebas, y en ella tengo user.spec.ts y testhelper.ts

testhelper.ts

 // import { Connection, createConnection } from "typeorm"; import { DataSource, DataSourceOptions } from "typeorm"; import Database from "better-sqlite3"; export class TestHelper { private static _instance: TestHelper; private constructor() {} public static get instance(): TestHelper { if (!this._instance) this._instance = new TestHelper(); return this._instance; } private dbConnect!: DataSource; private testdb!: any; async setupTestDB() { this.testdb = new Database(":memory:", { verbose: console.log }); this.dbConnect = new DataSource({ name: "default", type: "better-sqlite3", database: ":memory:", entities: ["src/entity/**/*.ts"], synchronize: true, } as DataSourceOptions); } teardownTestDB() { this.dbConnect.destroy(); this.testdb.close(); } }

usuario.spec.ts

 import { createUser } from "../src/controllers/user.controller"; //@ts-ignore import { TestHelper } from "./testhelper"; beforeAll(async () => { await TestHelper.instance.setupTestDB(); }); afterAll(() => { TestHelper.instance.teardownTestDB(); }); describe("User Tests", () => { test("should create user", async () => { const body = { firstname: "John", lastname: "Brut", email: "john@examle.com", password: "password123", }; const res = {}; //@ts-ignore const user = await createUser(body, res); //@ts-ignore expect(user.firstname).toBe("John"); //@ts-ignore expect(user.lastname).toBe("Brut"); }); });

Estoy haciendo esto por primera vez. y estoy atascado en eso por mucho tiempo... alguien puede ayudarme con esto... :(

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

prueba de esta manera, testhelper.ts

 async setupTestDB() { this.testdb = new Database(":memory:", { verbose: console.log }); this.dbConnect = new DataSource({ name: "default", type: "better-sqlite3", database: ":memory:", entities: ["src/entity/**/*.ts"], synchronize: true, } as DataSourceOptions); await this.dbConnect.initialize() }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda