Para proyectos de nodo, es común tener una carpeta de pruebas en el nivel superior. Por ejemplo, para mis proyectos por lo general tienen estas carpetas:
bin
(para contenedores)
lib
(para mis Node.js archivos de la biblioteca)
test
(para pruebas)
config
(por archivos de configuración, si es necesario)
public
o static
(para los activos estáticos, si es necesario)
node_modules
(donde NPM-ins los módulos con registro terminan yendo)
En general, no es muy crítico cómo se organiza el código mientras esté organizado y tenga puntos de entrada obvios. Básicamente, debería poder escribir "npm test" y hacer que funcione leyendo el comando del paquete.json.