mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-23 22:27:34 -05:00
558d78f32a
* feat: flexible template generator and manifest * chore: add changeset * chore: restore dep * chore: add docs * chore: update snapshots * chore: update docker examples for v5 * chore: refactor web module * chore: format * chore: refactor web api endpoints * test: add test for user login web * chore: refactor endpoints * chore: fix merge * chore: fix merge * Update ci.yml * chore: test * chore: add static * chore: update script * chore: fix e2e * chore: fix method * docs: update v5 relative docker example * chore: update html render * chore: update style * Update .prettierignore * chore: update changeset * chore: use pnpm6 on run test temporary ci * chore: drop node 16 for pnpm 6 * chore: update ci * chore: update ci * chore: update ci * chore: update ci * chore: remove circle ci * chore: better url prefix handling * chore: format code * chore: remove test node 10 * docs: add docker v5 relative revers proxy example * chore: use base html tag * chore: update test
70 lines
2.1 KiB
TypeScript
70 lines
2.1 KiB
TypeScript
import path from 'path';
|
|
import supertest from 'supertest';
|
|
import { setup } from '@verdaccio/logger';
|
|
import { HEADERS, HEADER_TYPE, HTTP_STATUS, API_ERROR } 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({
|
|
staticPath: path.join(__dirname, '../static'),
|
|
manifest: require('./partials/manifest/manifest.json'),
|
|
});
|
|
});
|
|
|
|
afterEach(() => {
|
|
jest.clearAllMocks();
|
|
mockManifest.mockClear();
|
|
});
|
|
|
|
test('should get 401', async () => {
|
|
mockManifest.mockReturnValue({
|
|
manifest: require('./partials/manifest/manifest.json'),
|
|
});
|
|
return supertest(await initializeServer('default-test.yaml'))
|
|
.post('/-/verdaccio/login')
|
|
.send(
|
|
JSON.stringify({
|
|
username: 'test',
|
|
password: 'password1',
|
|
})
|
|
)
|
|
.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON)
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
|
.expect(HTTP_STATUS.UNAUTHORIZED)
|
|
.then((response) => {
|
|
expect(response.body.error).toEqual(API_ERROR.BAD_USERNAME_PASSWORD);
|
|
});
|
|
});
|
|
|
|
test('should log in', async () => {
|
|
mockManifest.mockReturnValue({
|
|
manifest: require('./partials/manifest/manifest.json'),
|
|
});
|
|
return supertest(await initializeServer('default-test.yaml'))
|
|
.post('/-/verdaccio/login')
|
|
.send(
|
|
JSON.stringify({
|
|
username: 'test',
|
|
password: 'test',
|
|
})
|
|
)
|
|
.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON)
|
|
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
|
.expect(HTTP_STATUS.OK)
|
|
.then((res) => {
|
|
expect(res.body.error).toBeUndefined();
|
|
expect(res.body.token).toBeDefined();
|
|
expect(res.body.token).toBeTruthy();
|
|
expect(res.body.username).toMatch('test');
|
|
});
|
|
});
|
|
|
|
test.todo('should change password');
|
|
test.todo('should not change password if flag is disabled');
|
|
});
|