Skip to content

Commit 71f0088

Browse files
Replaced repeated form selectors with custom getter commands
1 parent beee656 commit 71f0088

File tree

1 file changed

+19
-28
lines changed
  • cypress/e2e/ui/Settings/Application-Settings

1 file changed

+19
-28
lines changed

cypress/e2e/ui/Settings/Application-Settings/zone.cy.js

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,6 @@ const textConstants = {
3737
ipInputFieldId: 'settings\\.proxy_server_ip',
3838
maxScanSelectFieldId: 'settings\\.concurrent_vm_scans',
3939

40-
// Common selectors
41-
inputFieldLabelSelector: (forValue) =>
42-
`#main-content .bx--form label[for="${forValue}"]`,
43-
inputFieldSelector: (inputId) => `#main-content .bx--form input#${inputId}`,
44-
selectFieldSelector: (selectId) => `#main-content .bx--form select#${selectId}`,
45-
buttonSelector: (type) => `#main-content .bx--btn-set button[type="${type}"]`,
46-
4740
// Buttons
4841
saveButton: 'Save',
4942
cancelButton: 'Cancel',
@@ -110,8 +103,8 @@ function addZone() {
110103
// Open add form
111104
cy.toolbar(configToolbarButton, addZoneConfigOption);
112105
// Adding name, description, ip and scan limit
113-
cy.get(inputFieldSelector(nameInputFieldId)).type(zoneName);
114-
cy.get(inputFieldSelector(descriptionInputFieldId)).type(
106+
cy.getFormInputFieldById(nameInputFieldId).type(zoneName);
107+
cy.getFormInputFieldById(descriptionInputFieldId).type(
115108
initialZoneDescription
116109
);
117110
cy.getFormInputFieldById(ipInputFieldId).type(initialServerIp);
@@ -133,9 +126,9 @@ function validateFormElements(isEditForm = false) {
133126
// Assert Info sub header is visible
134127
cy.get('#main-content .bx--form h3').contains(infoSubHeader);
135128
// Assert name field label is visible
136-
cy.get(inputFieldLabelSelector(nameInputFieldId)).should('be.visible');
129+
cy.getFormLabelByInputId(nameInputFieldId).should('be.visible');
137130
// Assert name field is visible and enabled
138-
cy.get(inputFieldSelector(nameInputFieldId))
131+
cy.getFormInputFieldById(nameInputFieldId)
139132
.should('be.visible')
140133
.then((nameField) => {
141134
if (isEditForm) {
@@ -145,32 +138,32 @@ function validateFormElements(isEditForm = false) {
145138
}
146139
});
147140
// Assert description field label is visible
148-
cy.get(inputFieldLabelSelector(descriptionInputFieldId)).should('be.visible');
141+
cy.getFormLabelByInputId(descriptionInputFieldId).should('be.visible');
149142
// Assert description field is visible and enabled
150-
cy.get(inputFieldSelector(descriptionInputFieldId))
143+
cy.getFormInputFieldById(descriptionInputFieldId)
151144
.should('be.visible')
152145
.and('be.enabled');
153146
// Assert IP field label is visible
154-
cy.get(inputFieldLabelSelector(ipInputFieldId)).should('be.visible');
147+
cy.getFormLabelByInputId(ipInputFieldId).should('be.visible');
155148
// Assert IP field is visible and enabled
156-
cy.get(inputFieldSelector(ipInputFieldId))
149+
cy.getFormInputFieldById(ipInputFieldId)
157150
.should('be.visible')
158151
.and('be.enabled');
159152
// Assert Settings sub header is visible
160153
cy.get('#main-content .bx--form h3').contains(settingsSubHeader);
161154
// Assert max scan field label is visible
162-
cy.get(inputFieldLabelSelector(maxScanSelectFieldId)).should('be.visible');
155+
cy.getFormLabelByInputId(maxScanSelectFieldId).should('be.visible');
163156
// Assert max scan field is visible and enabled
164-
cy.get(selectFieldSelector(maxScanSelectFieldId))
157+
cy.getFormSelectFieldById(maxScanSelectFieldId)
165158
.should('be.visible')
166159
.and('be.enabled');
167160
// Assert cancel button is visible and enabled
168-
cy.contains(buttonSelector(normalButtonType), cancelButton)
161+
cy.getFormFooterButtonByType(cancelButton)
169162
.should('be.visible')
170163
.and('be.enabled');
171164
if (isEditForm) {
172165
// Assert reset button is visible and disabled
173-
cy.contains(buttonSelector(normalButtonType), resetButton)
166+
cy.getFormFooterButtonByType(resetButton)
174167
.should('be.visible')
175168
.and('be.disabled');
176169
}
@@ -252,12 +245,10 @@ describe('Automate Schedule form operations: Settings > Application Settings > S
252245
// Open edit form
253246
cy.toolbar(configToolbarButton, editZoneConfigOption);
254247
// Update IP & scan limit
255-
cy.get(inputFieldSelector(descriptionInputFieldId))
248+
cy.getFormInputFieldById(descriptionInputFieldId)
256249
.clear()
257250
.type(updatedServerIp);
258-
cy.get(selectFieldSelector(maxScanSelectFieldId)).select(
259-
updatedMaxScanLimit
260-
);
251+
cy.getFormSelectFieldById(maxScanSelectFieldId).select(updatedMaxScanLimit);
261252
// Save the form
262253
cy.getFormFooterButtonByType(saveButton, 'submit')
263254
.should('be.enabled')
@@ -285,7 +276,7 @@ describe('Automate Schedule form operations: Settings > Application Settings > S
285276
// Validate fields
286277
validateFormElements(true);
287278
// Cancelling the form
288-
cy.contains(buttonSelector(normalButtonType), cancelButton).click();
279+
cy.getFormFooterButtonByType(cancelButton).click();
289280
});
290281

291282
it('Checking whether cancel & reset buttons work on the edit form', () => {
@@ -299,19 +290,19 @@ describe('Automate Schedule form operations: Settings > Application Settings > S
299290
cy.toolbar(configToolbarButton, editZoneConfigOption);
300291
/* ===== Reset ===== */
301292
// Update description & IP
302-
cy.get(inputFieldSelector(descriptionInputFieldId))
293+
cy.getFormInputFieldById(descriptionInputFieldId)
303294
.clear()
304295
.type(updatedZoneDescription);
305-
cy.get(inputFieldSelector(ipInputFieldId)).clear().type(updatedServerIp);
296+
cy.getFormInputFieldById(ipInputFieldId).clear().type(updatedServerIp);
306297
// Resetting the form
307298
cy.getFormFooterButtonByType(resetButton).should('be.enabled').click();
308299
cy.expect_flash(flashClassMap.warning, flashMessageOperationReset);
309300
// Confirming the edited fields contain the old values after resetting
310-
cy.get(inputFieldSelector(descriptionInputFieldId)).should(
301+
cy.getFormInputFieldById(descriptionInputFieldId).should(
311302
'have.value',
312303
initialZoneDescription
313304
);
314-
cy.get(inputFieldSelector(ipInputFieldId)).should(
305+
cy.getFormInputFieldById(ipInputFieldId).should(
315306
'have.value',
316307
initialServerIp
317308
);

0 commit comments

Comments
 (0)