add testing for lafede pilot
This commit is contained in:
parent
7e1c8e135b
commit
57ad58a5fc
100
tests/pilot-lafede.spec.ts
Normal file
100
tests/pilot-lafede.spec.ts
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
import { IDHUB_WALLET } from '../src/constants/env_constants';
|
||||||
|
|
||||||
|
import { test, expect } from '@playwright/test';
|
||||||
|
// TODO import domain WALLET y VERIFIER
|
||||||
|
// TODO env var
|
||||||
|
|
||||||
|
// optional page (decrypt)
|
||||||
|
// src https://playwright.dev/docs/locators#matching-one-of-the-two-alternative-locators
|
||||||
|
async function accept_data_protection(page) {
|
||||||
|
// TODO cannot be, because of this inconsistency: Data Protection (user) vs Data protection (admin)
|
||||||
|
//const data_protection = await page.getByRole('heading', { name: 'Data protection', exact: true })
|
||||||
|
const data_protection = await page.getByRole('heading', { name: 'Data protection' })
|
||||||
|
if (await data_protection.isVisible()) {
|
||||||
|
await page.locator('#id_accept_privacy').check();
|
||||||
|
await page.locator('#id_accept_legal').check();
|
||||||
|
await page.locator('#id_accept_cookies').check();
|
||||||
|
await page.getByRole('link', { name: 'Confirm' }).click();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// useful for DEBUG
|
||||||
|
// await page.pause();
|
||||||
|
|
||||||
|
test('test', async ({ page }) => {
|
||||||
|
// TODO hardcoded domain WALLET
|
||||||
|
await page.goto(IDHUB_WALLET + '/login/');
|
||||||
|
await page.getByPlaceholder('Email address').click();
|
||||||
|
await page.getByPlaceholder('Email address').fill('idhub_admin@pangea.org');
|
||||||
|
await page.getByPlaceholder('Password').fill('1234');
|
||||||
|
await page.getByRole('button', { name: 'Log in' }).click();
|
||||||
|
|
||||||
|
//const encryption_key_page = page.getByText('Encryption Key')
|
||||||
|
const encryption_key_page_admin = await page.getByRole('heading', { name: 'Encryption Key', exact: true })
|
||||||
|
if (await encryption_key_page_admin.isVisible()) {
|
||||||
|
await page.getByPlaceholder('Key for encrypt the secrets').click();
|
||||||
|
await page.getByPlaceholder('Key for encrypt the secrets').fill('1234');
|
||||||
|
await page.getByRole('button', { name: 'Save' }).click();
|
||||||
|
}
|
||||||
|
|
||||||
|
await accept_data_protection(page);
|
||||||
|
|
||||||
|
await page.getByRole('link', { name: ' Credentials' }).click();
|
||||||
|
await page.getByRole('link', { name: 'Organization\'s wallet' }).click();
|
||||||
|
await page.getByRole('link', { name: 'Configure credential issuance' }).click();
|
||||||
|
await page.getByPlaceholder('Label').click();
|
||||||
|
await page.getByPlaceholder('Label').fill('dni');
|
||||||
|
await page.getByPlaceholder('Label').press('Tab');
|
||||||
|
await page.getByPlaceholder('Password of certificate').fill('123456');
|
||||||
|
//await page.getByLabel('File import').click();
|
||||||
|
await page.getByLabel('File import').setInputFiles('/home/music/trustchain-oc1-orchestral-docker/IdHub/examples/signerDNIe004.pfx');
|
||||||
|
await page.getByRole('button', { name: 'Upload' }).click();
|
||||||
|
await page.getByRole('link', { name: ' Data' }).click();
|
||||||
|
await page.getByRole('link', { name: 'Import data ' }).click();
|
||||||
|
await page.getByLabel('Signature with Eidas1').selectOption('signerDNIe004.pfx');
|
||||||
|
await page.getByLabel('Schema').selectOption('1');
|
||||||
|
await page.getByText('ID HUB PANGEA idhub_admin@pangea.org Dashboard Users View users Add user Roles').click();
|
||||||
|
//await page.getByLabel('File to import').click();
|
||||||
|
await page.getByLabel('File to import').setInputFiles('/home/music/trustchain-oc1-orchestral-docker/IdHub/examples/excel_examples/course-credential.xlsx');
|
||||||
|
await page.getByRole('button', { name: 'Save' }).click();
|
||||||
|
|
||||||
|
// await page.getByRole('link', { name: ' Data' }).click();
|
||||||
|
// await page.getByRole('link', { name: 'Import data ' }).click();
|
||||||
|
// // src https://playwright.dev/docs/input#select-options
|
||||||
|
// await page.getByLabel('Schema').selectOption('Financial Vulnerability Credential');
|
||||||
|
// // src https://playwright.dev/docs/input#upload-files
|
||||||
|
// // TODO hardcoded URL
|
||||||
|
// await page.getByLabel('File to import').setInputFiles('/home/music/trustchain-oc1-orchestral-docker/IdHub/examples/excel_examples/financial-vulnerability.xlsx');
|
||||||
|
// //await page.setInputFiles('input[type="file"]', '/home/music/trustchain-oc1-orchestral-docker/IdHub/examples/excel_examples/financial-vulnerability.xlsx');
|
||||||
|
// await page.getByRole('button', { name: 'Save' }).click();
|
||||||
|
|
||||||
|
await page.getByRole('link', { name: '', exact: true }).click();
|
||||||
|
await page.getByPlaceholder('Email address').click();
|
||||||
|
await page.getByPlaceholder('Email address').fill('user1@example.org');
|
||||||
|
await page.getByPlaceholder('Password').click();
|
||||||
|
await page.getByPlaceholder('Password').fill('1234');
|
||||||
|
await page.getByRole('button', { name: 'Log in' }).click();
|
||||||
|
|
||||||
|
await accept_data_protection(page);
|
||||||
|
|
||||||
|
await page.getByRole('link', { name: 'Identities (DIDs)' }).click();
|
||||||
|
await page.getByRole('link', { name: 'Add Identity ' }).click();
|
||||||
|
await page.getByPlaceholder('Label').click();
|
||||||
|
await page.getByPlaceholder('Label').fill('default');
|
||||||
|
await page.getByLabel('Type').selectOption('1');
|
||||||
|
await page.getByRole('button', { name: 'Save' }).click();
|
||||||
|
await page.getByRole('link', { name: 'Request a credential' }).click();
|
||||||
|
await page.getByRole('button', { name: 'Request' }).click();
|
||||||
|
// TODO take last (because is the latest!!)
|
||||||
|
await page.getByRole('link', { name: '' }).click();
|
||||||
|
const downloadPromise = page.waitForEvent('download');
|
||||||
|
await page.getByRole('link', { name: 'Download as PDF (Catalan)' }).click();
|
||||||
|
const download = await downloadPromise;
|
||||||
|
const download1Promise = page.waitForEvent('download');
|
||||||
|
await page.getByRole('link', { name: 'Download as JSON' }).click();
|
||||||
|
const download1 = await download1Promise;
|
||||||
|
const download2Promise = page.waitForEvent('download');
|
||||||
|
await page.getByRole('link', { name: 'Download as PDF (Spanish)' }).click();
|
||||||
|
const download2 = await download2Promise;
|
||||||
|
});
|
Reference in a new issue