0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-23 22:27:34 -05:00
verdaccio/packages/web/test/render.test.ts
2021-04-09 17:54:41 +02:00

59 lines
1.8 KiB
TypeScript

import path from 'path';
import supertest from 'supertest';
import { setup } from '@verdaccio/logger';
import { HEADER_TYPE, HEADERS, HTTP_STATUS } from '@verdaccio/commons-api';
import { initializeServer } from './helper';
setup([]);
const mockManifest = jest.fn();
jest.mock('@verdaccio/ui-theme', () => mockManifest());
describe('test web server', () => {
beforeAll(() => {
mockManifest.mockReturnValue(() => ({
manifestFiles: {
js: ['runtime.js', 'vendors.js', 'main.js'],
},
staticPath: path.join(__dirname, 'static'),
manifest: require('./partials/manifest/manifest.json'),
}));
});
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);
});
});
});