Skip to content

Commit

Permalink
feat: use backward compatible UI from v6 on v5 (#2912)
Browse files Browse the repository at this point in the history
* feat: upgrade ui theme plugin v4

* chore: fix e2e

* fix: format

* chore: update theme ui
  • Loading branch information
juanpicado committed Jan 15, 2022
1 parent dad89bc commit b79266d
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 52 deletions.
16 changes: 8 additions & 8 deletions .pnp.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"@verdaccio/local-storage": "10.1.0",
"@verdaccio/readme": "10.2.0",
"@verdaccio/streams": "10.1.0",
"@verdaccio/ui-theme": "3.4.1",
"@verdaccio/ui-theme": "6.0.0-6-next.14",
"JSONStream": "1.3.5",
"async": "3.2.2",
"body-parser": "1.19.1",
Expand Down
66 changes: 28 additions & 38 deletions test/e2e/e2e.spec.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable no-console */
const protectedPackageMetadata = require('./partials/pkg-protected');
const scopedPackageMetadata = require('./partials/pkg-scoped');

Expand Down Expand Up @@ -25,12 +26,10 @@ describe('/ (Verdaccio Page)', () => {
};

const logIn = async function () {
await clickElement('button[data-testid="header--button-login"]');
// we fill the sign in form
const signInDialog = await page.$('#login--dialog');
const userInput = await signInDialog.$('#login--dialog-username');
await clickElement('div[data-testid="dialogContentLogin"]');
const userInput = await page.$('#login--dialog-username');
expect(userInput).not.toBeNull();
const passInput = await signInDialog.$('#login--dialog-password');
const passInput = await page.$('#login--dialog-password');
expect(passInput).not.toBeNull();
await userInput.type('test', { delay: 100 });
await passInput.type('test', { delay: 100 });
Expand All @@ -40,13 +39,12 @@ describe('/ (Verdaccio Page)', () => {
expect(loginButton).toBeDefined();
await loginButton.focus();
await loginButton.click({ delay: 100 });
await page.waitFor(500);
await page.waitForTimeout(500);
};

beforeAll(async () => {
page = await global.__BROWSER__.newPage();
await page.goto('http://0.0.0.0:55558');
// eslint-disable-next-line no-console
page.on('console', (msg) => console.log('PAGE LOG:', msg.text()));
});

Expand All @@ -56,7 +54,7 @@ describe('/ (Verdaccio Page)', () => {

test('should display title', async () => {
const text = await page.title();
await page.waitFor(1000);
await page.waitForTimeout(1000);

expect(text).toContain('verdaccio-server-e2e');
});
Expand Down Expand Up @@ -88,51 +86,43 @@ describe('/ (Verdaccio Page)', () => {
test('should click on sign in button', async () => {
const signInButton = await page.$('button[data-testid="header--button-login"]');
await signInButton.click();
await page.waitFor(1000);
await page.waitForTimeout(1000);
const signInDialog = await page.$('#login--dialog');
expect(signInDialog).not.toBeNull();
const closeButton = await page.$('button[data-testid="close-login-dialog-button"]');
await closeButton.click();
await page.waitFor(500);
await page.waitForTimeout(500);
});
//

test('should log in an user', async () => {
// we open the dialog
await logIn();
// verify if logged in
const accountButton = await page.$('#header--button-account');
expect(accountButton).toBeDefined();
// check whether user is logged
const buttonLogout = await page.$('#header--button-logout');
const buttonLogout = await page.$('#logOutDialogIcon');
expect(buttonLogout).toBeDefined();
});

test('should logout an user', async () => {
// await wa
await page.waitForTimeout(10000);
// we assume the user is logged already
await clickElement('#header--button-account', { delay: 500 });
await page.waitFor(1000);
await clickElement('#header--button-logout > span', { delay: 500 });
await page.waitFor(1000);
await page.waitForTimeout(1000);
await clickElement('#logOutDialogIcon > span', { delay: 500 });
await page.waitForTimeout(1000);
await evaluateSignIn();
});
//

test('should check registry info dialog', async () => {
const registryInfoButton = await page.$('#header--button-registryInfo');
registryInfoButton.click();
await page.waitFor(500);

const registryInfoDialog = await page.$('#registryInfo--dialog-container');
expect(registryInfoDialog).not.toBeNull();

const closeButton = await page.$('#registryInfo--dialog-close');
await closeButton.click();
});
//

test('should publish a package', async () => {
await global.__SERVER__.putPackage(scopedPackageMetadata.name, scopedPackageMetadata);
await page.waitFor(1000);
await page.waitForTimeout(1000);
await page.reload();
await page.waitFor(1000);
await page.waitForTimeout(1000);
const packagesList = await getPackages();
expect(packagesList).toHaveLength(1);
});
Expand All @@ -143,7 +133,7 @@ describe('/ (Verdaccio Page)', () => {
// console.log("-->packagesList:", packagesList);
const firstPackage = packagesList[0];
await firstPackage.click({ delay: 200 });
await page.waitFor(1000);
await page.waitForTimeout(1000);
const readmeText = await page.evaluate(() => document.querySelector('.markdown-body').textContent);

expect(readmeText).toMatch('test');
Expand All @@ -159,7 +149,7 @@ describe('/ (Verdaccio Page)', () => {
const dependenciesTab = await page.$$('#dependencies-tab');
expect(dependenciesTab).toHaveLength(1);
await dependenciesTab[0].click({ delay: 200 });
await page.waitFor(1000);
await page.waitForTimeout(1000);
const tags = await page.$$('.dep-tag');
const tag = tags[0];
const label = await page.evaluate((el) => el.innerText, tag);
Expand All @@ -170,7 +160,7 @@ describe('/ (Verdaccio Page)', () => {
const versionsTab = await page.$$('#versions-tab');
expect(versionsTab).toHaveLength(1);
await versionsTab[0].click({ delay: 200 });
await page.waitFor(1000);
await page.waitForTimeout(1000);
const versionItems = await page.$$('.version-item');
expect(versionItems).toHaveLength(2);
});
Expand All @@ -179,30 +169,30 @@ describe('/ (Verdaccio Page)', () => {
const upLinksTab = await page.$$('#uplinks-tab');
expect(upLinksTab).toHaveLength(1);
await upLinksTab[0].click({ delay: 200 });
await page.waitFor(1000);
await page.waitForTimeout(1000);
});

test('should display readme tab', async () => {
const readmeTab = await page.$$('#readme-tab');
expect(readmeTab).toHaveLength(1);
await readmeTab[0].click({ delay: 200 });
await page.waitFor(1000);
await page.waitForTimeout(1000);
});

test('should publish a protected package', async () => {
await page.goto('http://0.0.0.0:55552');
await page.waitFor(500);
await page.waitForTimeout(500);
await global.__SERVER_PROTECTED__.putPackage(protectedPackageMetadata.name, protectedPackageMetadata);
await page.waitFor(500);
await page.waitForTimeout(500);
await page.reload();
await page.waitFor(500);
await page.waitForTimeout(500);
const text = await page.evaluate(() => document.querySelector('#help-card__title').textContent);
expect(text).toMatch('No Package Published Yet');
});

test('should go to 404 page', async () => {
await page.goto('http://0.0.0.0:55552/-/web/detail/@verdaccio/not-found');
await page.waitFor(500);
await page.waitForTimeout(500);
const text = await page.evaluate(() => document.querySelector('.not-found-text').textContent);
expect(text).toMatch("Sorry, we couldn't find it...");
});
Expand Down
10 changes: 5 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3718,10 +3718,10 @@ __metadata:
languageName: node
linkType: hard

"@verdaccio/ui-theme@npm:3.4.1":
version: 3.4.1
resolution: "@verdaccio/ui-theme@npm:3.4.1"
checksum: 9873985e77c1c20cf3d08a1919036ec664ba00f3c7a773297f3471fc663119d507278f746aed121c4dccd3f9326f01940b88ee006d60120308c32388aa4aecfa
"@verdaccio/ui-theme@npm:6.0.0-6-next.14":
version: 6.0.0-6-next.14
resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.14"
checksum: a6072d1835a166086e680f8d48ae09f093eaca2cbb6bd9bfa9567cfe3843c69fdff47907db05329818eff0f78cdf12600ccca191b6aefb5b20830cf1ea01f19d
languageName: node
linkType: hard

Expand Down Expand Up @@ -14591,7 +14591,7 @@ typescript@4.1.3:
"@verdaccio/readme": 10.2.0
"@verdaccio/streams": 10.1.0
"@verdaccio/types": 10.2.2
"@verdaccio/ui-theme": 3.4.1
"@verdaccio/ui-theme": 6.0.0-6-next.14
JSONStream: 1.3.5
all-contributors-cli: 6.20.0
async: 3.2.2
Expand Down

0 comments on commit b79266d

Please sign in to comment.