Files
n8n-enterprise-unlocked/cypress/composables/credentialsComposables.ts

115 lines
2.9 KiB
TypeScript

export function getCredentialsPageUrl() {
return '/home/credentials';
}
export const verifyCredentialsListPageIsLoaded = () => {
cy.get('[data-test-id="resources-list-wrapper"], [data-test-id="empty-resources-list"]').should(
'be.visible',
);
};
export const loadCredentialsPage = (credentialsPageUrl: string) => {
cy.visit(credentialsPageUrl);
verifyCredentialsListPageIsLoaded();
};
/**
* Getters - Page
*/
export function getEmptyListCreateCredentialButton() {
return cy.getByTestId('empty-resources-list').find('button');
}
export function getCredentialCards() {
return cy.getByTestId('resources-list-item');
}
/**
* Getters - Modal
*/
export function getNewCredentialModal() {
return cy.getByTestId('selectCredential-modal', { timeout: 5000 });
}
export function getEditCredentialModal() {
return cy.getByTestId('editCredential-modal', { timeout: 5000 });
}
export function getNewCredentialTypeSelect() {
return cy.getByTestId('new-credential-type-select');
}
export function getNewCredentialTypeOption(credentialType: string) {
return cy.getByTestId('new-credential-type-select-option').contains(credentialType);
}
export function getNewCredentialTypeButton() {
return cy.getByTestId('new-credential-type-button');
}
export function getCredentialConnectionParameterInputs() {
return cy.getByTestId('credential-connection-parameter');
}
export function getConnectionParameter(fieldName: string) {
return getCredentialConnectionParameterInputs().find(
`:contains('${fieldName}') .n8n-input input`,
);
}
export function getCredentialSaveButton() {
return cy.getByTestId('credential-save-button', { timeout: 5000 });
}
/**
* Actions - Modal
*/
export function setCredentialName(name: string) {
cy.getByTestId('credential-name').find('span[data-test-id=inline-edit-preview]').click();
cy.getByTestId('credential-name').type(name);
}
export function saveCredential() {
getCredentialSaveButton()
.click({ force: true })
.within(() => {
cy.get('button').should('not.exist');
});
getCredentialSaveButton().should('have.text', 'Saved');
}
export function saveCredentialWithWait() {
cy.intercept('POST', '/rest/credentials').as('saveCredential');
saveCredential();
cy.wait('@saveCredential');
getCredentialSaveButton().should('contain.text', 'Saved');
}
export function closeNewCredentialModal() {
getNewCredentialModal().find('.el-dialog__close').first().click();
}
export function createNewCredential(
type: string,
name: string,
parameter: string,
parameterValue: string,
closeModal = true,
) {
getEmptyListCreateCredentialButton().click();
getNewCredentialModal().should('be.visible');
getNewCredentialTypeSelect().should('be.visible');
getNewCredentialTypeOption(type).click();
getNewCredentialTypeButton().click();
getConnectionParameter(parameter).type(parameterValue);
setCredentialName(name);
saveCredential();
if (closeModal) {
getEditCredentialModal().find('.el-dialog__close').first().click();
}
}