unpkg/modules/__tests__/meta-test.js

45 lines
1.2 KiB
JavaScript

import request from 'supertest';
import createServer from '../createServer.js';
describe('A request for metadata', () => {
let server;
beforeEach(() => {
server = createServer();
});
it('returns 200', done => {
request(server)
.get('/react@16.8.0/?meta')
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.headers['content-type']).toMatch(/\bapplication\/json\b/);
done();
});
});
describe('with a package that includes a root "directory" entry', () => {
it('returns 200', done => {
request(server)
.get('/sinuous@0.12.9/?meta')
.end((err, res) => {
expect(res.statusCode).toBe(200);
expect(res.headers['content-type']).toMatch(/\bapplication\/json\b/);
done();
});
});
});
describe('when the URL includes invalid query parameters', () => {
it('removes them from the URL', done => {
request(server)
.get('/react@16.8.0/?meta&invalid')
.end((err, res) => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/react@16.8.0/?meta');
done();
});
});
});
});