2021-03-06 12:56:45 -05:00
|
|
|
import path from 'path';
|
|
|
|
import supertest from 'supertest';
|
2021-10-29 10:33:05 -05:00
|
|
|
|
|
|
|
import { HEADERS, HEADER_TYPE, HTTP_STATUS } from '@verdaccio/core';
|
2021-03-06 12:56:45 -05:00
|
|
|
import { setup } from '@verdaccio/logger';
|
2021-10-29 10:33:05 -05:00
|
|
|
|
2021-03-06 12:56:45 -05:00
|
|
|
import { initializeServer } from './helper';
|
|
|
|
|
|
|
|
setup([]);
|
|
|
|
|
|
|
|
const mockManifest = jest.fn();
|
|
|
|
jest.mock('@verdaccio/ui-theme', () => mockManifest());
|
|
|
|
|
|
|
|
describe('test web server', () => {
|
|
|
|
beforeAll(() => {
|
2021-04-02 08:59:47 -05:00
|
|
|
mockManifest.mockReturnValue(() => ({
|
|
|
|
manifestFiles: {
|
|
|
|
js: ['runtime.js', 'vendors.js', 'main.js'],
|
|
|
|
},
|
2021-03-06 12:56:45 -05:00
|
|
|
staticPath: path.join(__dirname, 'static'),
|
|
|
|
manifest: require('./partials/manifest/manifest.json'),
|
2021-04-02 08:59:47 -05:00
|
|
|
}));
|
2021-03-06 12:56:45 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
jest.clearAllMocks();
|
|
|
|
mockManifest.mockClear();
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('render', () => {
|
|
|
|
test('should return the root', async () => {
|
|
|
|
return supertest(await initializeServer('default-test.yaml'))
|
|
|
|
.get('/')
|
|
|
|
.set('Accept', HEADERS.TEXT_HTML)
|
|
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_HTML_UTF8)
|
|
|
|
.expect(HTTP_STATUS.OK);
|
|
|
|
});
|
|
|
|
|
|
|
|
test('should return the body for a package detail page', async () => {
|
|
|
|
return supertest(await initializeServer('default-test.yaml'))
|
|
|
|
.get('/-/web/section/some-package')
|
|
|
|
.set('Accept', HEADERS.TEXT_HTML)
|
|
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_HTML_UTF8)
|
|
|
|
.expect(HTTP_STATUS.OK);
|
|
|
|
});
|
|
|
|
|
|
|
|
test('should static file not found', async () => {
|
|
|
|
return supertest(await initializeServer('default-test.yaml'))
|
|
|
|
.get('/-/static/not-found.js')
|
|
|
|
.set('Accept', HEADERS.TEXT_HTML)
|
|
|
|
.expect(HTTP_STATUS.NOT_FOUND);
|
|
|
|
});
|
|
|
|
|
|
|
|
test('should static file found', async () => {
|
|
|
|
return supertest(await initializeServer('default-test.yaml'))
|
|
|
|
.get('/-/static/main.js')
|
|
|
|
.set('Accept', HEADERS.TEXT_HTML)
|
|
|
|
.expect(HTTP_STATUS.OK);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|