Skip to content

Commit 42549c2

Browse files
committed
replacement of 'visibility' by 'exists'
1 parent 95b88ed commit 42549c2

22 files changed

+83
-74
lines changed

tests/e2e/helpers/database.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export async function clearDatabaseInCli(): Promise<void> {
220220
*/
221221
export async function deleteDatabase(databaseName: string): Promise<void> {
222222
await t.click(myRedisDatabasePage.myRedisDBButton);
223-
if (await addRedisDatabasePage.addDatabaseButton.visible) {
223+
if (await addRedisDatabasePage.addDatabaseButton.exists) {
224224
await myRedisDatabasePage.deleteDatabaseByName(databaseName);
225225
}
226226
}
@@ -231,7 +231,7 @@ export async function deleteDatabase(databaseName: string): Promise<void> {
231231
* @param databaseName The database name
232232
*/
233233
export async function acceptTermsAddDatabaseOrConnectToRedisStack(databaseParameters: AddNewDatabaseParameters, databaseName: string): Promise<void> {
234-
if (await addRedisDatabasePage.addDatabaseButton.visible) {
234+
if (await addRedisDatabasePage.addDatabaseButton.exists) {
235235
await acceptLicenseTermsAndAddDatabase(databaseParameters, databaseName);
236236
}
237237
else {

tests/e2e/helpers/pub-sub.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ const pubSubPage = new PubSubPage();
1111
export async function verifyMessageDisplayingInPubSub(message: string, displayed: boolean): Promise<void> {
1212
const messageByText = pubSubPage.pubSubPageContainer.find(pubSubPage.cssSelectorMessage).withText(message);
1313
displayed
14-
? await t.expect(await messageByText.visible).ok(`"${message}" Message is not displayed`, { timeout: 5000 })
15-
: await t.expect(await messageByText.visible).notOk(`"${message}" Message is still displayed`);
14+
? await t.expect(await messageByText.exists).ok(`"${message}" Message is not displayed`, { timeout: 5000 })
15+
: await t.expect(await messageByText.exists).notOk(`"${message}" Message is still displayed`);
1616
}

tests/e2e/pageObjects/browser-page.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ export class BrowserPage {
396396
await this.commonAddNewKey(keyName, TTL);
397397
await t.click(this.streamOption);
398398
// Verify that user can see Entity ID filled by * by default on add Stream key form
399-
await t.expect(this.streamEntryId.withAttribute('value', '*').visible).ok('Preselected Stream Entity ID field')
399+
await t.expect(this.streamEntryId.withAttribute('value', '*').exists).ok('Preselected Stream Entity ID field')
400400
.typeText(this.streamField, field, { replace: true, paste: true })
401401
.typeText(this.streamValue, value, { replace: true, paste: true });
402402
await t.expect(this.addKeyButton.withAttribute('disabled').exists).notOk('Clickable Add Key button');
@@ -448,11 +448,11 @@ export class BrowserPage {
448448
* @param groupName The group name
449449
*/
450450
async selectFilterGroupType(groupName: string): Promise<void> {
451-
if (await this.deleteFilterButton.visible) {
451+
if (await this.deleteFilterButton.exists) {
452452
await t.click(this.deleteFilterButton);
453453
}
454454
await t.click(this.filterByKeyTypeDropDown)
455-
.click(this.filterOptionType.withExactText(groupName));
455+
.click((this.filterOptionType).withExactText(groupName));
456456
}
457457

458458
/**
@@ -634,6 +634,15 @@ export class BrowserPage {
634634
.pressKey('enter');
635635
}
636636

637+
/**
638+
* Search by the value in the key details
639+
* @param value The value of the search parameter
640+
*/
641+
async secondarySearchByTheValueInKeyDetails(value: string): Promise<void> {
642+
await t.typeText(this.searchInput, value, { replace: true, paste: true })
643+
.pressKey('enter');
644+
}
645+
637646
/**
638647
* Search by the value in the set key details
639648
* @param value The value of the search parameter
@@ -842,7 +851,7 @@ export class BrowserPage {
842851
const folderSelector = `${lastSelector}keys${delimiter}keys${delimiter}"]`;
843852
await t.click(Selector(folderSelector));
844853
const foundKeyName = `${folders[i].join(delimiter)}`;
845-
await t.expect(Selector(`[data-testid*="key-${foundKeyName}"]`).visible).ok('Specific key');
854+
await t.expect(Selector(`[data-testid*="key-${foundKeyName}"]`).exists).ok('Specific key');
846855
await t.click(array[0]);
847856
}
848857
}

tests/e2e/pageObjects/monitor-page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export class MonitorPage {
7171
*/
7272
async stopMonitor(): Promise<void> {
7373
await t.click(this.runMonitorToggle);
74-
await t.expect(this.resetProfilerButton.visible).ok('Reset profiler button appeared');
74+
await t.expect(this.resetProfilerButton.exists).ok('Reset profiler button appeared');
7575
}
7676

7777
//Reset profiler

tests/e2e/pageObjects/my-redis-databases-page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export class MyRedisDatabasePage {
136136
*/
137137
async checkModulesOnPage(moduleList: Selector[]): Promise<void> {
138138
for (const item of moduleList) {
139-
await t.expect(item.visible).ok(`${item} icon`);
139+
await t.expect(item.exists).ok(`${item} icon`);
140140
}
141141
}
142142

tests/e2e/pageObjects/user-agreement-page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export class UserAgreementPage {
2222
await t.click(this.recommendedSwitcher);
2323
await t.click(this.switchOptionEula);
2424
await t.click(this.submitButton);
25-
await t.expect(this.userAgreementsPopup.visible).notOk('The user agreements popup is not shown', { timeout: 2000 });
25+
await t.expect(this.userAgreementsPopup.exists).notOk('The user agreements popup is not shown', { timeout: 2000 });
2626
}
2727
}
2828

tests/e2e/tests/critical-path/a-first-start-form/user-agreements-form.e2e.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,29 @@ fixture `Agreements Verification`
1818
test('Verify that user should accept User Agreements to continue working with the application', async t => {
1919
await t.expect(userAgreementPage.userAgreementsPopup.exists).ok('User Agreements Popup is shown');
2020
await t.click(addRedisDatabasePage.addDatabaseButton);
21-
//Verify that I still has agreements popup & cannot add a database
21+
// Verify that I still has agreements popup & cannot add a database
2222
await t.expect(userAgreementPage.userAgreementsPopup.exists).ok('User Agreements Popup is shown');
2323
await t.expect(addRedisDatabasePage.addDatabaseManually.exists).notOk('User can\'t add a database');
2424
});
2525
test('Verify that the encryption enabled by default and specific message', async t => {
2626
const expectedPluginText = 'To avoid automatic execution of malicious code, when adding new Workbench plugins, use files from trusted authors only.';
27-
//Verify that section with plugin warning is displayed
28-
await t.expect(userAgreementPage.pluginSectionWithText.visible).ok('Plugin text is displayed');
29-
//Verify that text that is displayed in window is 'While adding new visualization plugins, use files only from trusted authors to avoid automatic execution of malicious code.'
27+
// Verify that section with plugin warning is displayed
28+
await t.expect(userAgreementPage.pluginSectionWithText.exists).ok('Plugin text is not displayed');
29+
// Verify that text that is displayed in window is 'While adding new visualization plugins, use files only from trusted authors to avoid automatic execution of malicious code.'
3030
const pluginText = userAgreementPage.pluginSectionWithText.innerText;
3131
await t.expect(pluginText).eql(expectedPluginText, 'Plugin text is incorrect');
3232
// Verify that encryption enabled by default
3333
await t.expect(userAgreementPage.switchOptionEncryption.withAttribute('aria-checked', 'true').exists).ok('Encryption enabled by default');
3434
});
3535
test('Verify that the Welcome page is opened after user agrees', async t => {
36-
//Accept agreements
36+
// Accept agreements
3737
await t.click(settingsPage.switchEulaOption);
3838
await t.click(settingsPage.submitConsentsPopupButton);
39-
//Verify that I dont have an popup
39+
// Verify that I dont have an popup
4040
await t.expect(userAgreementPage.userAgreementsPopup.exists).notOk('User Agreements Popup isn\'t shown after accept agreements');
41-
//Verify that Welcome page is displayed after user agrees
41+
// Verify that Welcome page is displayed after user agrees
4242
await t.expect(addRedisDatabasePage.welcomePageTitle.exists).ok('Welcome page is displayed');
43-
//Verify I can work with the application
43+
// Verify I can work with the application
4444
await t.click(addRedisDatabasePage.addDatabaseButton);
4545
await t.expect(addRedisDatabasePage.addDatabaseManually.exists).ok('User can add a database');
4646
});

tests/e2e/tests/critical-path/browser/bulk-delete.e2e.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ test('Verify that user can access the bulk actions screen in the Browser', async
3737
await browserPage.selectFilterGroupType(KeyTypesTexts.Hash);
3838
// Open bulk actions
3939
await t.click(browserPage.bulkActionsButton);
40-
await t.expect(bulkActionsPage.bulkActionsContainer.visible).ok('Bulk actions screen not opened');
40+
await t.expect(bulkActionsPage.bulkActionsContainer.exists).ok('Bulk actions screen not opened');
4141
// Verify that user can see pattern summary of the keys selected: key type, pattern
4242
await t.expect(bulkActionsPage.infoFilter.innerText).contains('Key type:\nHASH', 'Key type is not correct');
4343
await t.expect(bulkActionsPage.infoSearch.innerText).contains('Pattern: *', 'Key pattern is not correct');
@@ -51,7 +51,7 @@ test('Verify that user can access the bulk actions screen in the Browser', async
5151
await t.click(bulkActionsPage.deleteButton);
5252
await t.expect(bulkActionsPage.bulkActionWarningTooltip.textContent).contains(warningTooltipTitle, 'Warning Tooltip title is not displayed or text is invalid');
5353
await t.expect(bulkActionsPage.bulkActionWarningTooltip.textContent).contains(warningTooltipMessage, 'Warning Tooltip message is not displayed or text is invalid');
54-
await t.expect(bulkActionsPage.bulkApplyButton.visible).ok('Confirm deletion button not displayed');
54+
await t.expect(bulkActionsPage.bulkApplyButton.exists).ok('Confirm deletion button not displayed');
5555

5656
});
5757
test('Verify that user can see summary of scanned level', async t => {
@@ -82,8 +82,8 @@ test('Verify that user can see blue progress line during the process of bulk del
8282
await browserPage.selectFilterGroupType(KeyTypesTexts.Hash);
8383
await browserPage.searchByKeyName('hashKey*');
8484
await bulkActionsPage.startBulkDelete();
85-
await t.expect(bulkActionsPage.progressLine.visible).ok('Blue progress line not displayed', { timeout: 5000 });
86-
await t.expect(bulkActionsPage.bulkStatusInProgress.visible).ok('Progress value not displayed', { timeout: 5000 });
85+
await t.expect(bulkActionsPage.progressLine.exists).ok('Blue progress line not displayed', { timeout: 5000 });
86+
await t.expect(bulkActionsPage.bulkStatusInProgress.exists).ok('Progress value not displayed', { timeout: 5000 });
8787
});
8888
test
8989
.before(async() => {
@@ -100,7 +100,7 @@ test
100100
await t.click(myRedisDatabasePage.workbenchButton);
101101
// Go to Browser Page
102102
await t.click(myRedisDatabasePage.browserButton);
103-
await t.expect(bulkActionsPage.bulkStatusInProgress.visible).ok('Progress value not displayed', { timeout: 5000 });
103+
await t.expect(bulkActionsPage.bulkStatusInProgress.exists).ok('Progress value not displayed', { timeout: 5000 });
104104
});
105105
test
106106
.before(async() => {
@@ -114,7 +114,7 @@ test
114114
await bulkActionsPage.startBulkDelete();
115115
await t.click(bulkActionsPage.bulkStopButton);
116116
const stoppedProgress = parseInt((await bulkActionsPage.bulkStatusStopped.innerText).replace(/[^\d]/g, ''));
117-
await t.expect(bulkActionsPage.bulkStatusStopped.visible).ok('Progress value not displayed');
117+
await t.expect(bulkActionsPage.bulkStatusStopped.exists).ok('Progress value not displayed');
118118
// Verify that when user stop bulk deletion, he can see the percentage at which the operation was stopped
119119
await t.expect(stoppedProgress).gt(1, 'Progress value not displayed');
120120
await t.expect(stoppedProgress).lt(100, 'Progress value not correct');
@@ -123,10 +123,10 @@ test('Verify that when bulk deletion is completed, status Action completed is di
123123
// Filter by Hash keys
124124
await browserPage.selectFilterGroupType(KeyTypesTexts.Hash);
125125
await bulkActionsPage.startBulkDelete();
126-
await t.expect(bulkActionsPage.bulkStatusCompleted.visible).ok('Bulk deletion not completed', { timeout: 15000 });
126+
await t.expect(bulkActionsPage.bulkStatusCompleted.exists).ok('Bulk deletion not completed', { timeout: 15000 });
127127
await t.expect(bulkActionsPage.bulkStatusCompleted.textContent).eql('Action completed', 'Action completed text is not visible');
128128
// Verify that when bulk deletion is completed, button Delete changes to Start New
129-
await t.expect(bulkActionsPage.bulkStartAgainButton.visible).ok('"Start New" button not displayed');
129+
await t.expect(bulkActionsPage.bulkStartAgainButton.exists).ok('"Start New" button not displayed');
130130
// Verify that user can click on Start New and existed filter will be applied
131131
await t.click(bulkActionsPage.bulkStartAgainButton);
132132
await t.expect(bulkActionsPage.bulkDeleteSummary.innerText).contains('Scanned 100% (2/2) and found 1 keys', 'Bulk delete summary is not correct');
@@ -163,13 +163,13 @@ test('Verify that when user clicks on Close button when bulk delete is completed
163163
await t.click(bulkActionsPage.bulkCancelButton);
164164
await t.click(browserPage.bulkActionsButton);
165165
// Verify context not saved
166-
await t.expect(bulkActionsPage.bulkDeleteCompletedSummary.visible).notOk('Bulk delete completed summary still displayed');
166+
await t.expect(bulkActionsPage.bulkDeleteCompletedSummary.exists).notOk('Bulk delete completed summary still displayed');
167167
await t.expect(bulkActionsPage.bulkDeleteSummary.textContent).contains('Scanned 100% (2/2) and found 1 keys', 'Bulk delete summary is not correct');
168168
// Verify that when user clicks on cross icon when bulk delete is completed, panel is closed, no context is saved
169169
await bulkActionsPage.startBulkDelete();
170170
await t.click(bulkActionsPage.bulkClosePanelButton);
171171
await t.click(browserPage.bulkActionsButton);
172172
// Verify context not saved
173-
await t.expect(bulkActionsPage.bulkDeleteCompletedSummary.visible).notOk('Bulk delete completed summary still displayed');
173+
await t.expect(bulkActionsPage.bulkDeleteCompletedSummary.exists).notOk('Bulk delete completed summary still displayed');
174174
await t.expect(bulkActionsPage.bulkDeleteSummary.textContent).contains('Scanned 100% (2/2) and found 1 keys', 'Bulk delete summary is not correct');
175175
});

tests/e2e/tests/critical-path/browser/consumer-group.e2e.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ fixture `Consumer group`
3030
})
3131
.afterEach(async t => {
3232
// Clear and delete database
33-
if (await browserPage.closeKeyButton.visible, { timeout: 500 }) {
33+
if (await browserPage.closeKeyButton.exists, { timeout: 500 }) {
3434
await t.click(browserPage.closeKeyButton);
3535
}
3636
await browserPage.deleteKeyByName(keyName);
@@ -124,7 +124,7 @@ test('Verify that user can see the Consumer information columns (Consumer Name,
124124
await t.expect(browserPage.scoreButton.nth(i).textContent).eql(consumerColumns[i], `The ${i} Consumers info column name not correct`);
125125
}
126126
// Verify that user can navigate to Consumer Groups screen using the link in the breadcrumbs
127-
await t.expect(browserPage.streamTabs.visible).ok('Stream navigation tabs visibility');
127+
await t.expect(browserPage.streamTabs.exists).ok('Stream navigation tabs visibility');
128128
await t.click(browserPage.streamTabGroups);
129129
await t.expect(browserPage.streamTabGroups.withAttribute('aria-selected', 'true').exists).ok('The Consumer Groups screen is not opened');
130130
});

tests/e2e/tests/critical-path/browser/context.e2e.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ test('Verify that user can see saved filter per key type applied when he returns
6161
await t.click(myRedisDatabasePage.settingsButton);
6262
// Return back to Browser and check filter applied
6363
await t.click(myRedisDatabasePage.browserButton);
64-
await t.expect(await browserPage.selectedFilterTypeString.visible).eql(true, 'Filter per key type is still applied');
64+
await t.expect(browserPage.selectedFilterTypeString.exists).ok('Filter per key type is still applied');
6565
// Clear filter
6666
await t.click(browserPage.clearFilterButton);
6767
// Filter per key name and open Settings
@@ -70,7 +70,7 @@ test('Verify that user can see saved filter per key type applied when he returns
7070
// Return back to Browser and check filter applied
7171
await t.click(myRedisDatabasePage.browserButton);
7272
// Verify that user can see saved input entered into the filter per Key name when he returns back to Browser page
73-
await t.expect(await browserPage.filterByPatterSearchInput.withAttribute('value', keyName).exists).ok('Filter per key name is still applied');
73+
await t.expect(browserPage.filterByPatterSearchInput.withAttribute('value', keyName).exists).ok('Filter per key name is still applied');
7474
});
7575
test('Verify that user can see saved executed commands in CLI on Browser page when he returns back to Browser page', async t => {
7676
const commands = [

0 commit comments

Comments
 (0)