Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

188
Visualizações
cómo burlarse de la variable dentro de la función typeorm nestjs

Quiero probar la función que hace .save en 2 tablas, pero en la segunda consulta tengo que usar la identificación de la primera consulta aquí está mi servicio.

 async createBoth(createInput: CreateInput): Promise<SomeThing> { const data = await this.dataRepository.create(createInput); const data2 = { dataId: data.id, someInfo: 'test' }; await this.data2Repository.create2(wallet); }

Como puede ver en mi función, tengo 2 consultas, primero guardo en dataReposition , luego guardo en data2Repository usando data.id

Aquí está mi prueba:

 describe('create Boath', () => { it('should be createBoth', async () => { await service.createBoth(mockInput); }); });

El error aparece:

No puedo crear ambos [porque creo que necesita simular data.id]

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Creo que te estás equivocando un poco con las pruebas unitarias. Ofc, todos tienen sus propias preferencias sobre cómo hacerlo... pero en cualquier caso.

Las pruebas unitarias en su forma básica son para probar la lógica de un método en particular, no los métodos que está llamando (en este sentido, escribir código comprobable también es importante).

Entonces, lo que quiere simular en su caso son los 2 objetos a los que se hace referencia como this.dataRepository y this.data2Repository. Esos objetos deben tener los métodos create() burlados.

Esto le permitirá controlar qué datos se devuelven desde la primera llamada y verificar cuáles son los parámetros de llamada para ambas llamadas.

Su prueba debe hacer las verificaciones anteriores; de lo contrario, no está realmente probando mucho, excepto si la llamada falla drásticamente.

Hablando de eso, en su código no usa la constante data2 después de su declaración. ¿Está seguro de que es la variable "billetera" la que necesita pasar a la segunda llamada y no data2?

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda