BrunoSobrino / api

Api Rest Free Publica para Bots o simplificaciones - By BrunoSobrino
https://github.com/BrunoSobrino/api
MIT License
18 stars 19 forks source link

Propuesta: Implementar Pruebas de Integración para la API #10

Open Daniel9822 opened 6 months ago

Daniel9822 commented 6 months ago

Considero que sería beneficioso realizar pruebas de integración en la API. Esto nos permitiría identificar posibles errores de manera más sencilla antes de subir cualquier cambio. Además, una vez implementadas, podríamos explorar la posibilidad de incorporar una nueva funcionalidad donde los usuarios finales puedan visualizar los endpoints activos y aquellos que no lo están.

Actualmente, estoy trabajando en una rama específica para abordar este tema. Ya he realizado la implementación utilizando Jest y SuperTest, e incluso he creado un test para la ruta de ***/videos. Sin embargo, antes de proceder más allá, me gustaría conocer su opinión. ¿Qué les parece la idea? 😂😂😂

describe('[ROUTE]', () => {
  test('It should respond with a status of 200 and a content type video/mp4', async () => {
    const response = await supertest(server).get(`${PATH}/[invisible 😂😂]?apikey=${apiKey}`).set('authorization', `Bearer ${token}`)

    const contentTypeHeader = response.headers['content-type'];
    expect(response.statusCode).toBe(200)
    expect(contentTypeHeader).toEqual(`video/mp4`)
  })
}, 10000)

test

BrunoSobrino commented 6 months ago

Hola Daniel, prodrias explicar un poco mas sobre en que consiste la implementacion de esto?

Unicamente seria para saber que funciones de la API estan funcionales (activas) y cuales no..?

Daniel9822 commented 6 months ago

@BrunoSobrino nos serviria para varias cosas

En cuanto a la pregunta específica sobre si se trata únicamente de verificar qué funciones de la API están activas, esa es una parte importante del proceso. Sin embargo, las pruebas de integración van más allá al evaluar la interacción entre los diferentes componentes de la API y asegurar su correcto funcionamiento en conjunto. También nos asegura que nuevas funcionalidades no rompan las que ya están, a veces uno puede romper cosas sin darse cuenta.

Un ejemplo, suponte que pensamos que la API está verificando de manera correcta el token del usuario y cuando corremos los test nos damos cuenta de que no está verificando el token.

token

no se si me di a entender 😂😂😂😂