So here is how I get a list of all defined HTTP endpoints in my E2E test in a NestJS app with their default configuration and setup:
import { Test, TestingModule } from '@nestjs/testing'; import { SomeModule } from './some/where/some.module'; const moduleFixture: TestingModule = await Test.createTestingModule({ imports: [SomeModule], }).compile(); const app = moduleFixture.createNestApplication(); await app.init(); console.log( app .getHttpServer() ._events.request.router.stack.filter((layer: any) => layer.route) .map((layer: any) => ({ method: Object.keys(layer.route.methods)[0].toUpperCase(), path: layer.route.path, })) ) This is mostly useful when I am banging my head against a brick wall as to why supertest says an endpoint does not exists (the infamous 404 error). So feel free to use this hack whenever you stock in the same spot :).
BTW feel free to like this post, subscribe and comment.
Instagram: https://www.instagram.com/node.js.developers.kh/
Facebook: https://www.facebook.com/kasirbarati
X: https://x.com/kasir_barati
YouTube: https://www.youtube.com/@kasir-barati
GitHub: https://github.com/kasir-barati/
Dev.to: https://dev.to/kasir-barati
LinkedIn: https://linkedin.com/in/kasir-barati
Top comments (0)