|
1 | 1 | import { t } from 'testcafe';
|
2 | 2 | import { env, rte } from '../../../helpers/constants';
|
3 | 3 | import {
|
| 4 | + acceptLicenseTermsAndAddDatabaseApi, |
4 | 5 | acceptLicenseTermsAndAddOSSClusterDatabase,
|
5 | 6 | acceptLicenseTermsAndAddRECloudDatabase,
|
6 | 7 | acceptLicenseTermsAndAddREClusterDatabase,
|
7 | 8 | acceptLicenseTermsAndAddSentinelDatabaseApi,
|
8 | 9 | deleteDatabase
|
9 | 10 | } from '../../../helpers/database';
|
10 |
| -import { BrowserPage } from '../../../pageObjects'; |
| 11 | +import { BrowserPage, MyRedisDatabasePage } from '../../../pageObjects'; |
11 | 12 | import {
|
12 | 13 | cloudDatabaseConfig,
|
13 | 14 | commonUrl,
|
14 | 15 | ossClusterConfig,
|
15 | 16 | ossSentinelConfig,
|
| 17 | + ossStandaloneBigConfig, |
16 | 18 | redisEnterpriseClusterConfig
|
17 | 19 | } from '../../../helpers/conf';
|
18 | 20 | import { Common } from '../../../helpers/common';
|
19 |
| -import { deleteOSSClusterDatabaseApi, deleteAllSentinelDatabasesApi } from '../../../helpers/api/api-database'; |
| 21 | +import { deleteOSSClusterDatabaseApi, deleteAllSentinelDatabasesApi, deleteStandaloneDatabaseApi } from '../../../helpers/api/api-database'; |
| 22 | +import { BrowserActions } from '../../../common-actions/browser-actions'; |
20 | 23 |
|
21 | 24 | const browserPage = new BrowserPage();
|
22 | 25 | const common = new Common();
|
| 26 | +const myRedisDatabasePage = new MyRedisDatabasePage(); |
| 27 | +const browserActions = new BrowserActions(); |
23 | 28 |
|
24 | 29 | let keyName = common.generateWord(10);
|
25 | 30 | const verifyKeysAdded = async(): Promise<void> => {
|
|
86 | 91 | })('Verify that user can add Key in Sentinel Primary Group', async() => {
|
87 | 92 | await verifyKeysAdded();
|
88 | 93 | });
|
| 94 | +test |
| 95 | + .meta({ rte: rte.standalone }) |
| 96 | + .before(async() => { |
| 97 | + await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneBigConfig, ossStandaloneBigConfig.databaseName); |
| 98 | + }) |
| 99 | + .after(async() => { |
| 100 | + // Delete database |
| 101 | + await deleteStandaloneDatabaseApi(ossStandaloneBigConfig); |
| 102 | + })('Verify that user can scroll key virtualized table and see keys info displayed', async() => { |
| 103 | + const listItems = browserPage.virtualTableContainer.find(browserPage.cssVirtualTableRow); |
| 104 | + const maxNumberOfScrolls = 15; |
| 105 | + let numberOfScrolls = 0; |
| 106 | + |
| 107 | + // Scroll down the virtualized list 15 times |
| 108 | + while (numberOfScrolls < maxNumberOfScrolls) { |
| 109 | + const currentLastRenderedItemIndex = await listItems.count - 1; |
| 110 | + const currentLastRenderedItemText = await listItems.nth(currentLastRenderedItemIndex).find(browserPage.cssSelectorKey).innerText; |
| 111 | + const currentLastRenderedItem = listItems.withText(currentLastRenderedItemText); |
| 112 | + |
| 113 | + await t.scrollIntoView(currentLastRenderedItem); |
| 114 | + numberOfScrolls++; |
| 115 | + // Verify that last rendered item name is not empty |
| 116 | + await t.expect(currentLastRenderedItemText).notEql('', `"${currentLastRenderedItemText}" Key name is empty`); |
| 117 | + } |
| 118 | + |
| 119 | + // Verify that keys info in row not empty |
| 120 | + await browserActions.verifyAllRenderedKeysHasText(); |
| 121 | + |
| 122 | + await t.click(browserPage.refreshKeysButton); |
| 123 | + // Verify that keys info in row not empty after refreshing page |
| 124 | + await browserActions.verifyAllRenderedKeysHasText(); |
| 125 | + |
| 126 | + // Go to Workbench page |
| 127 | + await t.click(myRedisDatabasePage.workbenchButton); |
| 128 | + // Go to Browser Page |
| 129 | + await t.click(myRedisDatabasePage.browserButton); |
| 130 | + // Verify that keys info in row not empty after switching between pages |
| 131 | + await browserActions.verifyAllRenderedKeysHasText(); |
| 132 | + }); |
0 commit comments