0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2024-12-23 22:27:34 -05:00
verdaccio/test/functional/readme/readme.ts
Juan Picado f4a85af20d
fix: fix missing readme on npm7 (#2010)
* fix: fix missing readme on npm7

* test: update test for readme
2020-11-28 22:57:52 +01:00

59 lines
2 KiB
TypeScript

import {DEFAULT_NO_README, HTTP_STATUS} from '../../../src/lib/constants';
import pkgReadmeJSON from './pkg-readme.json';
import pkgNoReadmeJSON from './pkg-no-readme.json';
import pkgNoReadmeJSONOldFormat from './pkg-readme-npm6.json';
export default function (server, server2) {
describe('should test readme', () => {
const README_PKG1 = 'readme-test';
const README_PKG2 = 'readme-test-no-readme';
const README_MESSAGE = 'this is a readme';
const README_PKG3 = 'readme-test-npm6';
beforeAll(async function() {
await server.putPackage('readme-test', pkgReadmeJSON)
.status(HTTP_STATUS.CREATED);
await server.putPackage(README_PKG2, pkgNoReadmeJSON)
.status(HTTP_STATUS.CREATED);
await server.putPackage(README_PKG3, pkgNoReadmeJSONOldFormat)
.status(HTTP_STATUS.CREATED);
});
test('add pkg', () => {});
describe('should check readme file', () => {
const matchReadme = (serverRef, pkgName = README_PKG1, readmeMessage = README_MESSAGE) => {
return serverRef.request({
uri: `/-/verdaccio/package/readme/${pkgName}`
}).status(HTTP_STATUS.OK).then(function(body) {
expect(body).toEqual(`<p>${readmeMessage}</p>`);
});
};
test('should fetch server2 over uplink server1', () => {
return matchReadme(server, README_PKG1, README_MESSAGE);
});
test('should fetch package on local server1', () => {
return matchReadme(server2, README_PKG1, README_MESSAGE);
});
test('should fetch not found readme server2 over uplink server1', () => {
return matchReadme(server, README_PKG2, DEFAULT_NO_README);
});
test('should fetch found readme special case for npm6', () => {
return matchReadme(server, README_PKG3, DEFAULT_NO_README);
});
test('should fetch not found readme package on local server1', () => {
return matchReadme(server2, README_PKG2, DEFAULT_NO_README);
});
});
});
}