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();
|
||||
});
|
||||
|
||||
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', () => {
|
||||
it('returns an HTML page', done => {
|
||||
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(
|
||||
302,
|
||||
createPackageURL(req.packageName, newVersion, req.filename, req.search)
|
||||
req.baseUrl +
|
||||
createPackageURL(req.packageName, newVersion, req.filename, req.search)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue