keycloak-scim/cypress/support/pages/admin_console/manage/clients/CreateClientPage.ts

165 lines
3.5 KiB
TypeScript
Raw Normal View History

2021-01-27 12:56:28 +00:00
export default class CreateClientPage {
clientTypeDrpDwn = ".pf-c-select__toggle";
clientTypeError = ".pf-c-select + div";
clientTypeList = ".pf-c-select__toggle + ul";
clientIdInput = "#kc-client-id";
clientIdError = "#kc-client-id + div";
clientNameInput = "#kc-name";
clientDescriptionInput = "#kc-description";
alwaysDisplayInConsoleSwitch =
'[for="kc-always-display-in-console-switch"] .pf-c-switch__toggle';
frontchannelLogoutSwitch =
'[for="kc-frontchannelLogout-switch"] .pf-c-switch__toggle';
clientAuthenticationSwitch =
'[for="kc-authentication-switch"] > .pf-c-switch__toggle';
clientAuthorizationSwitch =
'[for="kc-authorization-switch"] > .pf-c-switch__toggle';
standardFlowChkBx = "#kc-flow-standard";
directAccessChkBx = "#kc-flow-direct";
implicitFlowChkBx = "#kc-flow-implicit";
oidcCibaGrantChkBx = "#kc-oidc-ciba-grant";
deviceAuthGrantChkBx = "#kc-oauth-device-authorization-grant";
serviceAccountRolesChkBx = "#kc-flow-service-account";
2021-01-27 12:56:28 +00:00
saveBtn = "save";
continueBtn = "next";
backBtn = "back";
cancelBtn = "cancel";
2021-01-27 12:56:28 +00:00
//#region General Settings
selectClientType(clientType: string) {
2021-01-27 12:56:28 +00:00
cy.get(this.clientTypeDrpDwn).click();
cy.get(this.clientTypeList).findByTestId(`option-${clientType}`).click();
2021-01-27 12:56:28 +00:00
return this;
}
fillClientData(
id: string,
name = "",
description = "",
alwaysDisplay?: boolean,
frontchannelLogout?: boolean
) {
2021-01-27 12:56:28 +00:00
cy.get(this.clientIdInput).clear();
if (id) {
cy.get(this.clientIdInput).type(id);
}
if (name) {
cy.get(this.clientNameInput).type(name);
}
if (description) {
cy.get(this.clientDescriptionInput).type(description);
}
if (alwaysDisplay) {
cy.get(this.alwaysDisplayInConsoleSwitch).click();
}
if (frontchannelLogout) {
cy.get(this.frontchannelLogoutSwitch).click();
}
2021-01-27 12:56:28 +00:00
return this;
}
changeSwitches(switches: string[]) {
for (const uiSwitch of switches) {
cy.findByTestId(uiSwitch).check({ force: true });
}
return this;
}
2021-01-27 12:56:28 +00:00
checkClientIdRequiredMessage(exist = true) {
cy.get(this.clientIdError).should((!exist ? "not." : "") + "exist");
return this;
}
checkGeneralSettingsStepActive() {
cy.get(".pf-c-wizard__nav-link")
.contains("General Settings")
.should("have.class", "pf-m-current");
return this;
}
2021-01-27 12:56:28 +00:00
//#endregion
//#region Capability config
switchClientAuthentication() {
cy.get(this.clientAuthenticationSwitch).click();
return this;
}
switchClientAuthorization() {
cy.get(this.clientAuthorizationSwitch).click();
return this;
}
2021-01-27 12:56:28 +00:00
clickStandardFlow() {
cy.get(this.standardFlowChkBx).click();
return this;
}
clickDirectAccess() {
cy.get(this.directAccessChkBx).click();
return this;
}
clickImplicitFlow() {
cy.get(this.implicitFlowChkBx).click();
return this;
}
clickServiceAccountRoles() {
cy.get(this.serviceAccountRolesChkBx).click();
return this;
}
clickOAuthDeviceAuthorizationGrant() {
cy.get(this.deviceAuthGrantChkBx).click();
return this;
}
clickOidcCibaGrant() {
cy.get(this.oidcCibaGrantChkBx).click();
return this;
}
2021-01-27 12:56:28 +00:00
//#endregion
save() {
cy.findByTestId(this.saveBtn).click();
return this;
}
2021-01-27 12:56:28 +00:00
continue() {
cy.findByTestId(this.continueBtn).click();
2021-01-27 12:56:28 +00:00
return this;
}
back() {
cy.findByTestId(this.backBtn).click();
2021-01-27 12:56:28 +00:00
return this;
}
cancel() {
cy.findByTestId(this.cancelBtn).click();
2021-01-27 12:56:28 +00:00
return this;
}
}