TECHNICAL TEST BE

V1.0.0

PRERREQUISITOS

  • Tener Git instalado
  • Tener Node js Instalado (v​ 12.18.1​ o superior)
  • Clonar el repositorio con la url que has recibido vía email
  • Desde la consola, Ve a la carpeta src y ejecuta el comando: npm install
  • Desde la consola, ejecuta el comando: npm run test:watch, and happy code! :)

(S) RESTFUL FEATURE
El resto consiste en construir un par de endpoints (/books y /reports) en un servidor Express que nos permita obtener cierta información sobre los libros expuestos en una biblioteca, ademas de un reporte sobre su historial de uso. A continuación se listan las instrucciones para cumplir con el reto:
- (s) Crear un endpoint llamado /books que permita LISTAR los libros por rango de pages (orderBy: { pages: asc | desc }) . De los recursos entregados por el endpoint GET https://hiring.condorlabs.io/api/books
- (m) Crear un endpoint llamado /books que permita FILTRAR los libros por rango de pages, Ejemplo: Listar libros que tengan entre 170 y 180 páginas.({ filterBy: 'pages', from: 170, to: 180}) De los recursos entregados por el endpoint GET https://hiring.condorlabs.io/api/books
- (l) Generar un reporte que cumpla con la siguientes especificaciones:

  • Debes construir y exportar una función en src/test/handler.js llamada “top3MostLentBooksQ22021()”, esta función debe hacer un request de tipo GET a esta url: https://hiring.condorlabs.io/api/books/logs con el fin de obtener la data necesaria para calcular y devolver un arreglo con los 3 libros más prestados en el segundo semestre (abril-junio) del año 2021
  • El resultado de la funcion top3MostLentBooksQ22021() debe ser retornado desde el path /report

UNIT TESTING

En el repositorio puedes encontrar unos unit test preconstruidos que al inicio del test están en rojo, tu misión es ponerlos todos en verde agregando el código que satisface los requerimientos, tú NO ​debes modificarlos ya que están creados con el objetivo de evaluar las funcionalidades requeridas. Abre una consola y ejecuta el comando debajo para mantener los test corriendo mientras escribes el código. npm run test:watch O ejecutarlos cuando hayas finalizado la prueba. npm run test

Abre una consola y ejecuta el comando debajo para mantener los test corriendo mientras escribes el código.

npm run test:watch

O ejecutarlos cuando hayas finalizado la prueba.

npm run test

EXAMPLE:

En este caso, puedes ver un ejemplo de cómo jest muestra la interfaz mientras corre los tests.