mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 16:47:32 +00:00
feat(console): MDC components (#6482)
mdc components --------- Co-authored-by: Elio Bischof <eliobischof@gmail.com>
This commit is contained in:
@@ -26,16 +26,17 @@ describe('humans', () => {
|
||||
});
|
||||
|
||||
it('should add a user', () => {
|
||||
cy.get('[data-e2e="create-user-button"]').click();
|
||||
cy.get('[data-e2e="create-user-button"]').should('be.visible').click();
|
||||
cy.url().should('contain', 'users/create');
|
||||
cy.get('[formcontrolname="email"]').type('dummy@dummy.com');
|
||||
//force needed due to the prefilled username prefix
|
||||
cy.get('[formcontrolname="userName"]').type(user.addName);
|
||||
cy.get('[formcontrolname="firstName"]').type('e2ehumanfirstname');
|
||||
cy.get('[formcontrolname="lastName"]').type('e2ehumanlastname');
|
||||
cy.get('mat-select[data-cy="country-calling-code"]').click().get('mat-option').contains('Switzerland').click();
|
||||
cy.get('mat-select[data-cy="country-calling-code"]').click();
|
||||
cy.contains('mat-option', 'Switzerland').scrollIntoView().click();
|
||||
cy.get('[formcontrolname="phone"]').type('123456789');
|
||||
cy.get('[data-e2e="create-button"]').click();
|
||||
cy.get('[data-e2e="create-button"]').click({ force: true });
|
||||
cy.shouldConfirmSuccess();
|
||||
let loginName = user.addName;
|
||||
if (user.mustBeDomain) {
|
||||
|
@@ -26,7 +26,7 @@ describe('machines', () => {
|
||||
});
|
||||
|
||||
it('should add a machine', () => {
|
||||
cy.get('[data-e2e="create-user-button"]').click();
|
||||
cy.get('[data-e2e="create-user-button"]').should('be.visible').click();
|
||||
cy.url().should('contain', 'users/create-machine');
|
||||
//force needed due to the prefilled username prefix
|
||||
cy.get('[formcontrolname="userName"]').type(machine.addName);
|
||||
|
31
e2e/cypress/support/login/authenticate.ts
Normal file
31
e2e/cypress/support/login/authenticate.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
export function authenticate(
|
||||
loginUrl: string,
|
||||
creds: {
|
||||
password: any;
|
||||
username: string;
|
||||
},
|
||||
onUsernameScreen: () => void,
|
||||
onPasswordScreen: () => void,
|
||||
onAuthenticated: () => void,
|
||||
) {
|
||||
onUsernameScreen ? onUsernameScreen() : null;
|
||||
cy.get('#loginName').type(creds.username);
|
||||
cy.get('#submit-button').click();
|
||||
|
||||
onPasswordScreen ? onPasswordScreen() : null;
|
||||
cy.get('#password').type(creds.password);
|
||||
cy.get('#submit-button').click();
|
||||
|
||||
cy.wait('@password').then((interception) => {
|
||||
if (interception.response.body.indexOf(`${loginUrl}/mfa/prompt`) === -1) {
|
||||
return;
|
||||
}
|
||||
cy.contains('button', 'skip').click();
|
||||
});
|
||||
|
||||
cy.wait('@token');
|
||||
|
||||
onAuthenticated ? onAuthenticated() : null;
|
||||
|
||||
cy.wait(1000);
|
||||
}
|
@@ -1,3 +1,5 @@
|
||||
import { authenticate as authenticateOnBaseUrl } from './authenticate';
|
||||
|
||||
export enum User {
|
||||
OrgOwner = 'org_owner',
|
||||
OrgOwnerViewer = 'org_owner_viewer',
|
||||
@@ -39,18 +41,10 @@ export function login(
|
||||
},
|
||||
);
|
||||
|
||||
let userToken: string;
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'POST',
|
||||
url: `${issuerUrl}/token`,
|
||||
},
|
||||
(req) => {
|
||||
req.continue((res) => {
|
||||
userToken = res.body['access_token'];
|
||||
});
|
||||
},
|
||||
).as('token');
|
||||
cy.intercept({
|
||||
method: 'POST',
|
||||
url: `${issuerUrl}/token`,
|
||||
}).as('token');
|
||||
|
||||
cy.intercept({
|
||||
method: 'POST',
|
||||
@@ -60,29 +54,30 @@ export function login(
|
||||
|
||||
cy.visit(Cypress.config('baseUrl'), { retryOnNetworkFailure: true });
|
||||
|
||||
onUsernameScreen ? onUsernameScreen() : null;
|
||||
cy.get('#loginName').type(creds.username);
|
||||
cy.get('#submit-button').click();
|
||||
const backendUrl = Cypress.env('BACKEND_URL');
|
||||
|
||||
onPasswordScreen ? onPasswordScreen() : null;
|
||||
cy.get('#password').type(creds.password);
|
||||
cy.get('#submit-button').click();
|
||||
|
||||
cy.wait('@password').then((interception) => {
|
||||
if (interception.response.body.indexOf(`${loginUrl}/mfa/prompt`) === -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
cy.contains('button', 'skip').click();
|
||||
});
|
||||
|
||||
cy.wait('@token').then(() => {
|
||||
cy.task('safetoken', { key: creds.username, token: userToken });
|
||||
});
|
||||
|
||||
onAuthenticated ? onAuthenticated() : null;
|
||||
|
||||
cy.wait(1000);
|
||||
if (Cypress.config('baseUrl').startsWith(backendUrl)) {
|
||||
authenticateOnBaseUrl(loginUrl, creds, onUsernameScreen, onPasswordScreen, onAuthenticated);
|
||||
cy.get('@token')
|
||||
.its('response.body.access_token')
|
||||
.then((token) => {
|
||||
cy.task('safetoken', { key: creds.username, token: token });
|
||||
});
|
||||
} else {
|
||||
cy.origin(
|
||||
backendUrl,
|
||||
{ args: { loginUrl, creds, onUsernameScreen, onPasswordScreen, onAuthenticated } },
|
||||
({ loginUrl, creds, onUsernameScreen, onPasswordScreen, onAuthenticated }) => {
|
||||
const authenticateOnBackendUrl = Cypress.require('./authenticate');
|
||||
authenticateOnBackendUrl.authenticate(loginUrl, creds, onUsernameScreen, onPasswordScreen, onAuthenticated);
|
||||
},
|
||||
);
|
||||
cy.get('@token')
|
||||
.its('response.body.access_token')
|
||||
.then((token) => {
|
||||
cy.task('safetoken', { key: creds.username, token: token });
|
||||
});
|
||||
}
|
||||
|
||||
cy.visit('/');
|
||||
|
||||
|
Reference in New Issue
Block a user