2019-01-06 00:50:05 +00:00
|
|
|
import request from 'supertest';
|
2018-05-19 15:34:36 +00:00
|
|
|
|
2019-01-06 00:50:05 +00:00
|
|
|
import createServer from '../createServer';
|
2017-11-25 21:25:01 +00:00
|
|
|
|
2018-12-17 17:38:05 +00:00
|
|
|
describe('The server', () => {
|
2018-02-18 02:00:56 +00:00
|
|
|
let server;
|
2017-11-11 20:18:13 +00:00
|
|
|
beforeEach(() => {
|
2018-02-18 02:00:56 +00:00
|
|
|
server = createServer();
|
|
|
|
});
|
2017-11-11 20:18:13 +00:00
|
|
|
|
2018-12-17 17:38:05 +00:00
|
|
|
it('redirects /_meta to ?meta', done => {
|
2017-11-11 20:18:13 +00:00
|
|
|
request(server)
|
2018-12-17 17:38:05 +00:00
|
|
|
.get('/_meta/react')
|
2017-11-11 20:18:13 +00:00
|
|
|
.end((err, res) => {
|
2018-05-19 14:49:21 +00:00
|
|
|
expect(res.statusCode).toBe(301);
|
2018-12-17 17:38:05 +00:00
|
|
|
expect(res.headers.location).toBe('/react?meta');
|
2018-05-19 14:49:21 +00:00
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2018-12-17 17:38:05 +00:00
|
|
|
it('redirects ?json to ?meta', done => {
|
2018-05-19 14:49:21 +00:00
|
|
|
request(server)
|
2018-12-17 17:38:05 +00:00
|
|
|
.get('/react?json')
|
2018-05-19 14:49:21 +00:00
|
|
|
.end((err, res) => {
|
|
|
|
expect(res.statusCode).toBe(301);
|
2018-12-17 17:38:05 +00:00
|
|
|
expect(res.headers.location).toBe('/react?meta');
|
2018-02-18 02:00:56 +00:00
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
2017-11-11 20:18:13 +00:00
|
|
|
|
2018-12-17 17:38:05 +00:00
|
|
|
it('redirects invalid query params', done => {
|
2017-11-11 20:18:13 +00:00
|
|
|
request(server)
|
2018-12-17 17:38:05 +00:00
|
|
|
.get('/react?main=index&invalid')
|
2017-11-11 20:18:13 +00:00
|
|
|
.end((err, res) => {
|
2018-02-18 02:00:56 +00:00
|
|
|
expect(res.statusCode).toBe(302);
|
2018-12-17 17:38:05 +00:00
|
|
|
expect(res.headers.location).toBe('/react?main=index');
|
2018-02-18 02:00:56 +00:00
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
2017-11-11 20:18:13 +00:00
|
|
|
|
2018-12-17 17:38:05 +00:00
|
|
|
it('rejects invalid package names', done => {
|
2017-11-11 20:18:13 +00:00
|
|
|
request(server)
|
2018-12-17 17:38:05 +00:00
|
|
|
.get('/_invalid/index.js')
|
2017-11-11 20:18:13 +00:00
|
|
|
.end((err, res) => {
|
2018-05-19 14:49:21 +00:00
|
|
|
expect(res.statusCode).toBe(403);
|
2018-02-18 02:00:56 +00:00
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|