Skip to content

Commit

Permalink
Merge pull request #1499 from aziontech/UXE-refactor-selectors-by-azi…
Browse files Browse the repository at this point in the history
…on-product-name

[QA-2077] refactor: move e2e  selectors to its own file and folder structure
  • Loading branch information
matheus-sunderhus authored Jul 17, 2024
2 parents 982e172 + 1a1404d commit 2dac211
Show file tree
Hide file tree
Showing 27 changed files with 546 additions and 497 deletions.
554 changes: 57 additions & 497 deletions cypress/support/selectors.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export default {
actionsSubmitButton: '[data-testid="form-actions-submit-button"]',
actionsCancelButton: '[data-testid="form-actions-cancel-button"]',
submitButton: '[data-testid="form-actions-submit-button"]',
editPageTitle: '[data-testid="page_title_Edit Digital Certificate"]',
goBackButton: '[data-testid="action-bar__go-back"]',
leavePageButton: '[data-testid="dialog-unsaved__leave-page"]'
}
29 changes: 29 additions & 0 deletions cypress/support/selectors/block-selectors/list-table-block.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
export default {
breadcumbReturnToList: ':nth-child(3) > .p-menuitem-link',
createDigitalCertificateButton: '[data-testid="create_Digital Certificate_button"]',
searchInput: '[data-testid="data-table-search-input"]',
searchField: '[data-testid="data-table-search-input"]',
filteredRow: {
column: (columnName) => `[data-testid="list-table-block__column__${columnName}__row"]`,
nameColumn: (columnName = 'name') =>
`[data-testid="list-table-block__column__${columnName}__row"]`,
statusColumn: '[data-testid="list-table-block__column__status__row"] > .p-tag-value',
empty: 'tr.p-datatable-emptymessage > td',
lastEditorColumn: '[data-testid="list-table-block__column__lastEditor__row"]',
lastModifiedColumn: '[data-testid="list-table-block__column__lastModified__row"]'
},
actionsMenu: {
button: '[data-testid="data-table-actions-column-body-actions-menu-button"]',
deleteButton: '[data-testid="data-table__actions-menu-item__Delete-button"]'
},
singleActionsMenu: {
button: '[data-testid="data-table-actions-column-body-action-button"]'
},
deleteDialog: {
confirmationInputField: '[data-testid="delete-dialog-confirmation-input-field"]',
deleteButton: '[data-testid="delete-dialog-footer-delete-button"]'
},
toast: {
content: '.p-toast-message-content'
}
}
5 changes: 5 additions & 0 deletions cypress/support/selectors/block-selectors/menu-account.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default {
avatarIcon: '[data-testid="profile-block__avatar"]',
menuItem: (menuAccountLabel) =>
`li[aria-label="${menuAccountLabel}"] > .p-menuitem-content > .p-menuitem-link`
}
4 changes: 4 additions & 0 deletions cypress/support/selectors/block-selectors/menu-sidebar.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export default {
toggleButton: '[data-testid="sidebar-block__toggle-button"] > .p-button-icon',
menuItem: (productName) => `[data-testid="sidebar-block__menu-item__${productName}"]`
}
13 changes: 13 additions & 0 deletions cypress/support/selectors/block-selectors/teams-block.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
export default {
createTeamButton: '[data-testid="create_Team_button"]',
nameInput: '[data-testid="teams-permissions-form__name__field-text__input"]',
statusSwitch: '[data-testid="teams-permissions-form__form-fields__status"]',
sourceList: '.p-picklist-list.p-picklist-source-list',
targetList: '.p-picklist-list.p-picklist-target-list',
allPermissionsToTarget: '[aria-label="Move All to Target"] > .p-icon',
allPermissionsToSource: '[aria-label="Move All to Source"] > .p-icon',
singlePermissionToTarget: 'button[aria-label="Move to Target"]',
permission: (permissionName) =>
`[data-testid="teams-permissions-form__permissions-field__picklist__item-${permissionName}"]`,
listRow: (rowName) => `[data-testid="list-table-block__column__${rowName}__row"]`
}
7 changes: 7 additions & 0 deletions cypress/support/selectors/block-selectors/toast-block.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export default {
createSuccessMessage: ':nth-child(2) > .p-toast-message-content > .flex-column > .text-sm',
deleteSuccessMessage:
':nth-child(3) > .p-toast-message-content > .flex-column > .flex > .text-color',
content: '.p-toast-message-content',
closeBtn: ':nth-child(2) >.p-toast-message-content .p-toast-icon-close'
}
87 changes: 87 additions & 0 deletions cypress/support/selectors/product-selectors/data-stream.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
export default {
createButton: '[data-testid="create_Stream_button"]',
nameInput: '[data-testid="data-stream-form__general__name-field__input"]',
sourceDropdown: '[data-testid="data-stream-form__data-settings__data-source-field__dropdown"]',
templateDropdown: '[data-testid="data-stream-form__data-settings__template-field__dropdown"]',
editorBody: '.view-lines',
connectorDropdown:
'[data-testid="data-stream-form__destination__connector-field__dropdown"] > .p-dropdown-trigger',
connectorOption: (optionIdx) => `#endpoint_${optionIdx}`,
httpConnector: {
urlInput: '[data-testid="data-stream-form__destination__url-field__input"]',
headersInput: '[data-testid="data-stream-form__destination__headers-field__input"]',
payloadInput: '[data-testid="data-stream-form__destination__payload-format-field__input"]',
separatorInput:
'[data-testid="data-stream-form__destination__payload-line-separator-field__input"]',
maxSizeInput:
'[data-testid="data-stream-form__destination__payload-max-size-field__input"] > .p-inputtext'
},
kafkaConnector: {
serverTextarea:
'[data-testid="data-stream-form__destination__bootstrap-servers-field__textarea"]',
topicInput: '[data-testid="data-stream-form__destination__kafka-topic-field__input"]',
useTlsSlider:
'[data-testid="data-stream-form__destination__use-tls-field"] > .p-inputswitch-slider'
},
s3Connector: {
urlInput: '[data-testid="data-stream-form__destination__url-field__input"]',
bucketInput: '[data-testid="data-stream-form__destination__bucket-field__input"]',
regionInput: '[data-testid="data-stream-form__destination__region-field__input"]',
accessKeyInput: '[data-testid="data-stream-form__destination__access-key-field__input"]',
secretKeyInput: '[data-testid="data-stream-form__destination__secret-key-field__input"]',
objectKeyPrefixInput:
'[data-testid="data-stream-form__destination__object-key-prefix-field__input"]'
},
bigQueryConnector: {
projectIdInput: '[data-testid="data-stream-form__destination__project-id-field__input"]',
datasetIdInput: '[data-testid="data-stream-form__destination__dataset-id-field__input"]',
tableIdInput: '[data-testid="data-stream-form__destination__table-id-field__input"]',
serviceAccountKeyInput:
'[data-testid="data-stream-form__destination__service-account-key-field__input"]'
},
elasticsearchConnector: {
urlInput: '[data-testid="data-stream-form__destination__elasticsearch-url-field__input"]',
apiKeyTextarea: '[data-testid="data-stream-form__destination__api-key-field__textarea"]'
},
splunkConnector: {
urlInput: '[data-testid="data-stream-form__destination__splunk-url-field__input"]',
apiKeyTextarea: '[data-testid="data-stream-form__destination__splunk-api-key-field__textarea"]'
},
awsKinesisConnector: {
streamNameInput:
'[data-testid="data-stream-form__destination__kinesis-stream-name-field__input"]',
regionInput: '[data-testid="data-stream-form__destination__kinesis-region-field__input"]',
accessKeyInput:
'[data-testid="data-stream-form__destination__kinesis-access-key-field__input"]',
secretKeyInput: '[data-testid="data-stream-form__destination__kinesis-secret-key-field__input"]'
},
datadogConnector: {
urlInput: '[data-testid="data-stream-form__destination__datadog-url-field__input"]',
apiKeyTextarea: '[data-testid="data-stream-form__destination__datadog-api-key-field__textarea"]'
},
ibmQRadarConnector: {
urlInput: '[data-testid="data-stream-form__destination__qradar-url-field__input"]'
},
azureMonitorConnector: {
logTypeInput:
'[data-testid="data-stream-form__destination__azure-monitor-log-type-field__input"]',
sharedKeyInput:
'[data-testid="data-stream-form__destination__azure-monitor-shared-key-field__input"]',
timeGeneratedFieldInput:
'[data-testid="data-stream-form__destination__azure-monitor-generated-field__input"]',
workspaceIdInput:
'[data-testid="data-stream-form__destination__azure-monitor-workspace-id-field__input"]'
},
azureBlobStorageConnector: {
storageAccountInput:
'[data-testid="data-stream-form__destination__azure-blob-storage-storage-account-field__input"]',
containerNameInput:
'[data-testid="data-stream-form__destination__azure-blob-storage-container-name-field__input"]',
blobSasTokenInput:
'[data-testid="data-stream-form__destination__azure-blob-storage-blob-token-field__input"]'
},
statusSlider: '[data-testid="data-stream-form__section__status"] input',
list: {
columnName: (columnName) => `[data-testid="list-table-block__column__${columnName}__row"]`
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export default {
createDigitalCertificateButton: '[data-testid="create_Digital Certificate_button"]',
digitalCertificateName: '[data-testid="digital-certificate__name-field__input"]',
breadcumbReturnToList: ':nth-child(3) > .p-menuitem-link',
importTrustedCARadioOption:
'[inputvalue="trusted_ca_certificate"] > .p-card-body > .p-card-content > .p-4',
editPageTitle: '[data-testid="page_title_Edit Digital Certificate"]',
trustedCATextArea: '[data-testid="trusted-certificates-form__certificate-field__textarea"]'
}
35 changes: 35 additions & 0 deletions cypress/support/selectors/product-selectors/domains.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
export default {
createButton: '[data-testid="create_Domain_button"]',
nameInput: '[data-testid="domains-form__name-field__input"]',
edgeApplicationField: '[data-testid="domains-form__edge-application-field__dropdown"]',
dropdownFilter: '.p-dropdown-filter',
edgeApplicationOption: '#edgeApplication_0',
cnamesField: '[data-testid="domains-form__cnames-field__textarea"]',
dialogTitle: '.p-dialog-header > .p-dialog-title',
domainField: '[data-testid="domains-dialog__domain-field__input"]',
copyDomainButton: '[data-testid="domains-dialog__copy-domain__button"]',
confirmButton: '[data-testid="domains-dialog__confirm__button"]',
pageTitle: (entityName) => `[data-testid="page_title_${entityName}"]`,
digitalCertificateFieldSelectedValue:
':nth-child(4) > [data-testid="field-dropdown__dropdown"] > .p-dropdown-label',
digitalCertificateDropdown:
'[data-testid="domains-form__edge-certificate-field__dropdown"] > .p-dropdown-label',
letsEncryptDropdownOption: '#edgeCertificate_1',
editPageTitle: '[data-testid="page_title_Edit Domain"]',
enableMtlsSwitch:
'[data-testid="domains-form__mtls-is-enabled-field__switch"] > .p-inputswitch-slider',
dropdownTrustedCA:
'[data-testid="domains-form__mtls-trusted-certificate-field__dropdown"] > .p-dropdown-label',
trustedCAFirstDropdownOption: '#mtlsTrustedCertificate_0',
mtlsTrustedCAFieldSelectedValue:
':nth-child(4) > .max-w-3xl > .sm\\:max-w-xs > [data-testid="field-dropdown__dropdown"] > .p-dropdown-label',
fieldTextInput: '[data-testid="field-text__input"]',
domainUri: '[data-testid="edit-domains-form__domain-field__input"]',
editFormCopyDomainButton: '[data-testid="edit-domains-form__domain-field__copy-button"]',
activeSwitchEditForm: '[data-testid="edit-domains-form__active-field__switch"]',
formActionsSubmitButton: '[data-testid="form-actions-submit-button"] > .p-button-label',
dataTableSearchInput: '[data-testid="data-table-search-input"]',
listTableBlockColumnNameRow: '[data-testid="list-table-block__column__name__row"]',
listTableBlockColumnActiveRow:
'[data-testid="list-table-block__column__active__row"] > .p-tag-value'
}
31 changes: 31 additions & 0 deletions cypress/support/selectors/product-selectors/edge-dns.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
export default {
createButton: '[data-testid="create_Zone_button"] > .p-button-label',
nameInput: '[data-testid="edge-dns-form__name__input"]',
domainInput: '[data-testid="edge-dns-form__domain__input"]',
saveButton: '[data-testid="form-actions-submit-button"] > .p-button-label',
cancelButton: '[data-testid="form-actions-cancel-button"] > .p-button-label',
searchInput: '[data-testid="data-table-search-input"]',
nameRow: '[data-testid="list-table-block__column__name__row"]',
showMore: '.underline',
domainRow: '.whitespace-pre',
statusRow: '[data-testid="list-table-block__column__status__row"] > .p-tag-value',
list: {
columnName: (columnName) => `[data-testid="list-table-block__column__${columnName}__row"]`
},
records: {
tab: '[data-testid="edge-dns-edit-view__records__tab-panel"] > a',
createButton: '[data-testid="create_Record_button"]',
nameInput: '[data-testid="edge-dns-records-form__settings__name-field__input"]',
recordTypeDropdown:
'[data-testid="edge-dns-records-form__settings__record-type-field__dropdown"] > .p-dropdown-trigger',
recordTypeOption: (recordType) => `#selectedRecordType_${recordType}`,
ttlInput: '[data-testid="edge-dns-records-form__settings__ttl-field__input"]',
valueTextarea: '[data-testid="edge-dns-records-form__settings__value-field__textarea"]',
policyTypeDropdown:
'[data-testid="edge-dns-records-form__policy__policy-type-field__dropdown"] > .p-dropdown-trigger',
policyTypeOption: (policyType) => `#selectedPolicy_${policyType}`,
weightInput: '[data-testid="edge-dns-records-form__policy__weight-field__input"]',
descriptionTextarea:
'[data-testid="edge-dns-records-form__policy__description-field__textarea"]'
}
}
56 changes: 56 additions & 0 deletions cypress/support/selectors/product-selectors/edge-firewall.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
export default {
createButton: '[data-testid="create_Edge Firewall_button"] > .p-button-label',
nameInput: '[data-testid="edge-firewall-form__name-field__input"]',
edgeFunctionSwitch:
'[data-testid="field-group-switch__switch-edgeFunctionsEnabled__switch"] > .p-inputswitch-slider',
wafEnabledSwitch:
'[data-testid="field-group-switch__switch-wafEnabled__switch"] > .p-inputswitch-slider',
networkProtectionSwitch:
'[data-testid="field-group-switch__switch-networkProtectionEnabled__switch"] > .p-inputswitch-slider',
mainSettingsTab: '[data-testid="edge-firewall__main-settings-tab"] > .p-tabview-title',
functionsTab: '[data-testid="edge-firewall__functions-tab"] > .p-tabview-title',
rulesEngineTab: '[data-testid="edge-firewall__rules-engine-tab"] > .p-tabview-title',
createFunctionInstanceButton: '[data-testid="create_Function Instance_button"] > .p-button-label',
functionInstanceName: '[data-testid="field-text__input"]',
functionInstanceDropdown: '[data-testid="field-dropdown__dropdown"] > .p-dropdown-label',
functionInstanceDropdownFilter: '.p-dropdown-filter',
functionInstanceDropdownIcon:
'[data-testid="field-dropdown__dropdown"] > .p-dropdown-trigger > .p-icon',
functionInstanceDropdownFunction: '#edgeFunctionID_0',
functionInstanceSubmit: '[data-testid="form-actions-submit-button"] > .p-button-label',
functionInstanceTableSearchInput: '[data-testid="data-table-search-input"]',
functionInstanceTableColumnName: '[data-testid="list-table-block__column__name__row"]',
functionInstanceTableColumnInstanced:
'[data-testid="list-table-block__column__functionInstanced__row"]',
createRuleButton: '[data-testid="create_Rules Engine_button"] > .p-button-label',
ruleNameInput: '[data-testid="edge-firewall-rule-form__name__input"]',
ruleDescriptionInput: '[data-testid="edge-firewall-rule-form__description__input"]',
ruleCriteriaVariableDropdown: '#criteria\\[0\\]\\[0\\]\\.variable > .p-dropdown-trigger',
ruleCriteriaVariableDropdownRequestUri: '#criteria\\[0\\]\\[0\\]\\.variable_11',
ruleCriteriaOperatorDropdown:
':nth-child(2) > [data-testid="field-dropdown__dropdown"] > .p-dropdown-label',
ruleCriteriaOperatorStartsWith: '#criteria\\[0\\]\\[0\\]\\.operator_2',
ruleCriteriaInput: ':nth-child(3) > [data-testid="field-text__input"]',
ruleBehaviorDropdown:
':nth-child(1) > [data-testid="field-dropdown__dropdown"] > .p-dropdown-label',
ruleBehaviorRunFunction: '#behaviors\\[0\\]\\.name_4',
ruleBehaviorFunctionToRunDropdown:
'.gap-3 > :nth-child(2) > [data-testid="field-dropdown__dropdown"] > .p-dropdown-label',
ruleBehaviorFunctionToRun: '#behaviors\\[0\\]\\.functionId_0',
ruleSubmit: '[data-testid="form-actions-submit-button"] > .p-button-label',
rulesTableSearchInput: '[data-testid="data-table-search-input"]',
rulesTableColumnName: '[data-testid="list-table-block__column__name__row"]',
rulesTableColumnDescriptionShowMore: '.underline',
rulesTableColumnDescription: '.whitespace-pre',

saveButton: '[data-testid="form-actions-submit-button"]',
cancelButton: '[data-testid="form-actions-cancel-button"]',
searchInput: '[data-testid="data-table-search-input"]',
nameRow: '[data-testid="list-table-block__column__name__row"]',
activeRow: '[data-testid="list-table-block__column__status__row"] > .p-tag-value',
actionButton:
'[data-testid="data-table-actions-column-body-actions-menu-button"] > .p-button-icon',
deleteButton: '.p-menuitem-content > .p-menuitem-link > .p-menuitem-text',
deleteInput: '[data-testid="delete-dialog-confirmation-input-field"]',
confirmDeleteButton: '[data-testid="delete-dialog-footer-delete-button"] > .p-button-label'
}
10 changes: 10 additions & 0 deletions cypress/support/selectors/product-selectors/edge-functions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
export default {
createButton: '[data-testid="create_Edge Function_button"] > .p-button-label',
nameInput: '[data-testid="field-text__input"]',
saveButton: '[data-testid="form-actions-submit-button"] > .p-button-label',
cancelButton: '[data-testid="form-actions-cancel-button"] > .p-button-label',
searchInput: '[data-testid="data-table-search-input"]',
nameRow: '[data-testid="list-table-block__column__name__row"] > p',
languageRow: '[data-testid="list-table-block__column__language__row"] > p',
initiatorTypeRow: '[data-testid="list-table-block__column__initiatorType__row"]'
}
6 changes: 6 additions & 0 deletions cypress/support/selectors/product-selectors/edge-pulse.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default {
defaultTagCopyButton: '[data-testid="edge-pulse__default-tag-copy-button"] > .p-button-label',
preLoadingTab: '[data-testid="edge-pulse__pre-loading-tab"]',
preLoadingTagCopyButton:
'[data-testid="edge-pulse__pre-loading-tag-copy-button"] > .p-button-label'
}
4 changes: 4 additions & 0 deletions cypress/support/selectors/product-selectors/edge-purge.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export default {
createButton: '[data-testid="create_Purge_button"]',
argumentsField: '[data-testid="purge__arguments-field__textarea"]'
}
17 changes: 17 additions & 0 deletions cypress/support/selectors/product-selectors/edge-services.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export default {
createServiceButton: '[data-testid="create_Service_button"]',
createResourceButton: '[data-testid="list-table-block__create-resource-button"]',
listRow: (columnName) => `[data-testid="list-table-block__column__${columnName}__row"]`,
pageTitle: (entityName) => `[data-testid="page_title_${entityName}"]`,
serviceName: '[data-testid="edge-service-form__name-field__input"]',
variablesField: '[data-testid="edge-service-form__variables-field"] .view-lines',
status: '[data-testid="edge-service-form__status__active-field"] input',
statusSwitch: '[data-testid="edge-service-form__status__active-field"] .p-inputswitch-slider',
mainSettingsTab: '[data-testid="edge-service-tabs__tab__main-settings"] a',
resoucesTab: '[data-testid="edge-service-tabs__tab__resources"] a',
pathField: '[data-testid="edge-service-drawer-form__path-field__input"]',
contentTypeField: '[data-testid="edge-service-drawer-form__content-field"] .view-lines',
typeDropdownTrigger:
'[data-testid="edge-service-drawer-form__type-field__dropdown"] > .p-dropdown-trigger',
typeDropdownOptions: (position) => `#contentType_${position}`
}
19 changes: 19 additions & 0 deletions cypress/support/selectors/product-selectors/network-lists.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
export default {
createButton: '[data-testid="create_Network List_button"] > .p-button-label',
nameInput: '[data-testid="network-list-form__name__input"]',
typeDropdown: '[data-testid="network-list-form__type__dropdown"]',
asnTextarea: '[data-testid="network-list-form__asn-list__textarea"]',
ipcidrTextarea: '[data-testid="network-list-form__ipcidr-list__textarea"]',
countriesMultiselect: '[data-testid="network-list-form__countries__multiselect"]',
saveButton: '[data-testid="form-actions-submit-button"]',
cancelButton: '[data-testid="form-actions-cancel-button"]',
searchInput: '[data-testid="data-table-search-input"]',
nameRow: '[data-testid="list-table-block__column__name__row"]',
countriesListOption: (recordType) => `#countriesList_${recordType}`,
typeRow: '[data-testid="list-table-block__column__listType__row"]',
actionButton:
'[data-testid="data-table-actions-column-body-actions-menu-button"] > .p-button-icon',
deleteButton: '.p-menuitem-content > .p-menuitem-link > .p-menuitem-text',
deleteInput: '[data-testid="delete-dialog-confirmation-input-field"]',
confirmDeleteButton: '[data-testid="delete-dialog-footer-delete-button"] > .p-button-label'
}
Loading

0 comments on commit 2dac211

Please sign in to comment.