Add tests for /browse redirects
This commit is contained in:
parent
51c351d834
commit
e757febc33
|
@ -8,6 +8,20 @@ describe('A request to browse a directory', () => {
|
||||||
server = createServer();
|
server = createServer();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('with no version specified', () => {
|
||||||
|
it('redirects to the latest version', done => {
|
||||||
|
request(server)
|
||||||
|
.get('/browse/react/')
|
||||||
|
.end((err, res) => {
|
||||||
|
expect(res.statusCode).toBe(302);
|
||||||
|
expect(res.headers.location).toMatch(
|
||||||
|
/\/browse\/react@\d+\.\d+\.\d+\//
|
||||||
|
);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('when the directory exists', () => {
|
describe('when the directory exists', () => {
|
||||||
it('returns an HTML page', done => {
|
it('returns an HTML page', done => {
|
||||||
request(server)
|
request(server)
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
import request from 'supertest';
|
||||||
|
|
||||||
|
import createServer from '../createServer.js';
|
||||||
|
|
||||||
|
describe('A request with a trailing slash', () => {
|
||||||
|
let server;
|
||||||
|
beforeEach(() => {
|
||||||
|
server = createServer();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('that does not include the version number', () => {
|
||||||
|
it('redirects to /browse', done => {
|
||||||
|
request(server)
|
||||||
|
.get('/react/')
|
||||||
|
.end((err, res) => {
|
||||||
|
expect(res.statusCode).toBe(302);
|
||||||
|
expect(res.headers.location).toEqual('/browse/react/');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('that includes the version number', () => {
|
||||||
|
it('redirects to /browse', done => {
|
||||||
|
request(server)
|
||||||
|
.get('/react@16.8.0/')
|
||||||
|
.end((err, res) => {
|
||||||
|
expect(res.statusCode).toBe(302);
|
||||||
|
expect(res.headers.location).toEqual('/browse/react@16.8.0/');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
|
@ -10,7 +10,8 @@ function semverRedirect(req, res, newVersion) {
|
||||||
})
|
})
|
||||||
.redirect(
|
.redirect(
|
||||||
302,
|
302,
|
||||||
createPackageURL(req.packageName, newVersion, req.filename, req.search)
|
req.baseUrl +
|
||||||
|
createPackageURL(req.packageName, newVersion, req.filename, req.search)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue