mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-13 03:35:52 +01:00
76 lines
2.8 KiB
TypeScript
76 lines
2.8 KiB
TypeScript
import path from 'path';
|
|
import supertest from 'supertest';
|
|
|
|
import { HEADERS, HEADER_TYPE, HTTP_STATUS } from '@verdaccio/core';
|
|
import { setup } from '@verdaccio/logger';
|
|
import { publishVersion } from '@verdaccio/test-helper';
|
|
|
|
import { NOT_README_FOUND } from '../src/api/readme';
|
|
import { initializeServer } from './helper';
|
|
|
|
setup({});
|
|
|
|
const mockManifest = jest.fn();
|
|
jest.mock('@verdaccio/ui-theme', () => mockManifest());
|
|
|
|
describe('readme api', () => {
|
|
beforeAll(() => {
|
|
mockManifest.mockReturnValue(() => ({
|
|
staticPath: path.join(__dirname, 'static'),
|
|
manifestFiles: {
|
|
js: ['runtime.js', 'vendors.js', 'main.js'],
|
|
},
|
|
manifest: require('./partials/manifest/manifest.json'),
|
|
}));
|
|
});
|
|
|
|
afterEach(() => {
|
|
jest.clearAllMocks();
|
|
mockManifest.mockClear();
|
|
});
|
|
|
|
test('should fetch readme scoped package', async () => {
|
|
const app = await initializeServer('default-test.yaml');
|
|
await publishVersion(app, '@scope/pk1-test', '1.0.0', { readme: 'my readme scoped' });
|
|
const response = await supertest(app)
|
|
.get('/-/verdaccio/data/package/readme/@scope/pk1-test')
|
|
.set('Accept', HEADERS.TEXT_PLAIN)
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8)
|
|
.expect(HTTP_STATUS.OK);
|
|
expect(response.text).toMatch('my readme scoped');
|
|
}, 70000);
|
|
|
|
test('should fetch readme scoped package with not found message', async () => {
|
|
const app = await initializeServer('default-test.yaml');
|
|
await publishVersion(app, '@scope/pk1-test', '1.0.0', { readme: null });
|
|
const response = await supertest(app)
|
|
.get('/-/verdaccio/data/package/readme/@scope/pk1-test')
|
|
.set('Accept', HEADERS.TEXT_PLAIN)
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8)
|
|
.expect(HTTP_STATUS.OK);
|
|
expect(response.text).toMatch(NOT_README_FOUND);
|
|
});
|
|
|
|
test('should fetch readme a package', async () => {
|
|
const app = await initializeServer('default-test.yaml');
|
|
await publishVersion(app, 'pk1-test', '1.0.0', { readme: 'my readme' });
|
|
const response = await supertest(app)
|
|
.get('/-/verdaccio/data/package/readme/pk1-test')
|
|
.set('Accept', HEADERS.TEXT_PLAIN)
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8)
|
|
.expect(HTTP_STATUS.OK);
|
|
expect(response.text).toMatch('my readme');
|
|
});
|
|
|
|
test('should fetch readme a package with not found message', async () => {
|
|
const app = await initializeServer('default-test.yaml');
|
|
await publishVersion(app, 'pk1-test', '1.0.0', { readme: null });
|
|
const response = await supertest(app)
|
|
.get('/-/verdaccio/data/package/readme/pk1-test')
|
|
.set('Accept', HEADERS.TEXT_PLAIN)
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.TEXT_PLAIN_UTF8)
|
|
.expect(HTTP_STATUS.OK);
|
|
expect(response.text).toMatch(NOT_README_FOUND);
|
|
});
|
|
});
|