More granular control over query handling

This commit is contained in:
Michael Jackson
2019-08-08 10:00:34 -07:00
parent a718d90549
commit dfe2f29fe0
7 changed files with 82 additions and 54 deletions

View File

@ -1,20 +0,0 @@
import request from 'supertest';
import createServer from '../createServer';
describe('Invalid query params', () => {
let server;
beforeEach(() => {
server = createServer();
});
it('redirect to the same path w/out those params', done => {
request(server)
.get('/d3?module&invalid-param')
.end((err, res) => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/d3?module');
done();
});
});
});

View File

@ -29,4 +29,16 @@ describe('A request for metadata', () => {
});
});
});
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();
});
});
});
});

View File

@ -0,0 +1,24 @@
import request from 'supertest';
import createServer from '../createServer.js';
describe('A request for a module', () => {
let server;
beforeEach(() => {
server = createServer();
});
// TODO: More tests here
describe('when the URL includes invalid query parameters', () => {
it('removes them from the URL', done => {
request(server)
.get('/react@16.8.0/?module&invalid')
.end((err, res) => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/react@16.8.0/?module');
done();
});
});
});
});

View File

@ -35,4 +35,16 @@ describe('A request for a JavaScript file', () => {
});
});
});
describe('when the URL has invalid query params', () => {
it('removes them from the URL', done => {
request(server)
.get('/react@16.8.0/index.js?invalid')
.end((err, res) => {
expect(res.statusCode).toBe(302);
expect(res.headers.location).toBe('/react@16.8.0/index.js');
done();
});
});
});
});