/nextjs-http-supertest

npm package to get an http server parsing your nextJS app to link endpoint with handler

Primary LanguageJavaScript

nextjs-http-supertest

This package do several things:

  • Parse the file under your pages/api nextJS folder
  • Link your handler with the HTTP endpoint
  • When performing a request with supertest, parsing the URL and the query parameters to call the correct handler.

Requirement: Your api handlers must be located under pages/api or src/pages/api at the root of your nextJS repository.

It returns an http server instance (do not forget to close it after running your test suite).

Example below in a toto.test.js jest file.

import request from 'supertest';
import server from 'nextjs-http-supertest';

describe('my super test suite', () => {

    afterAll(() => {
        server.close(); // don't forget to close your server after your tests
    })

    it('200: Should return a toto array', async () => {
        const r = await request(server).get('/api/toto').query({ offset: 0, limit: 10 });
        expect(r.statusCode).toEqual(200);
        expect(r.body.length).toEqual(10);
    })
})

It handles typescript