More granular control over query handling
This commit is contained in:
44
modules/__tests__/meta-test.js
Normal file
44
modules/__tests__/meta-test.js
Normal file
@ -0,0 +1,44 @@
|
||||
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();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user