Skip to content

Commit 4a1306b

Browse files
authored
Merge pull request #1079 from RedisInsight/e2e/feature/big-db-test-fix
E2E big db test fix
2 parents 0abe5ff + 840c024 commit 4a1306b

File tree

6 files changed

+37
-28
lines changed

6 files changed

+37
-28
lines changed

tests/e2e/pageObjects/browser-page.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ export class BrowserPage {
175175
noResultsFound = Selector('[data-test-subj=no-result-found]');
176176
searchAdvices = Selector('[data-test-subj=search-advices]');
177177
keysNumberOfResults = Selector('[data-testid=keys-number-of-results]');
178-
keysNumberOfScanned = Selector('[data-testid=keys-number-of-scanned]');
179178
keysTotalNumber = Selector('[data-testid=keys-total]');
180179
overviewTotalKeys = Selector('[data-test-subj=overview-total-keys]');
181180
overviewTotalMemory = Selector('[data-test-subj=overview-total-memory]');
@@ -858,6 +857,24 @@ export class BrowserPage {
858857
await t.click(this.formatSwitcher);
859858
await t.click(option);
860859
}
860+
861+
/**
862+
* Verify that keys can be scanned more and results increased
863+
*/
864+
async verifyScannningMore(): Promise<void> {
865+
for (let i = 10; i < 100; i += 10) {
866+
// Remember results value
867+
const rememberedScanResults = Number((await this.keysNumberOfResults.textContent).replace(/\s/g, ''));
868+
await t.expect(this.progressKeyList.exists).notOk('Progress Bar is still displayed', { timeout: 30000 });
869+
const scannedValueText = await this.scannedValue.textContent;
870+
const regExp = new RegExp(`${i} 00` + '.');
871+
await t.expect(scannedValueText).match(regExp, `The database is not automatically scanned by ${i} 000 keys`);
872+
await t.doubleClick(this.scanMoreButton);
873+
await t.expect(this.progressKeyList.exists).ok('Progress Bar is not displayed', { timeout: 30000 });
874+
const scannedResults = Number((await this.keysNumberOfResults.textContent).replace(/\s/g, ''));
875+
await t.expect(scannedResults).gt(rememberedScanResults, { timeout: 3000 });
876+
}
877+
}
861878
}
862879

863880
/**

tests/e2e/tests/critical-path/browser/scan-keys.e2e.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ test
6363
await t.click(cliPage.cliCollapseButton);
6464
//Search keys
6565
await browserPage.searchByKeyName(searchPattern);
66-
const keysNumberOfScanned = await browserPage.keysNumberOfScanned.textContent;
66+
const keysNumberOfScanned = await browserPage.scannedValue.textContent;
6767
//Verify that number of scanned is 1000
6868
await t.expect(keysNumberOfScanned).contains('1 000', 'Number of scanned is 1000');
6969
//Scan more
7070
await t.click(browserPage.scanMoreButton);
71-
const keysNumberOfScannedScanMore = await browserPage.keysNumberOfScanned.textContent;
71+
const keysNumberOfScannedScanMore = await browserPage.scannedValue.textContent;
7272
//Verify that number of results is 2000
7373
await t.expect(keysNumberOfScannedScanMore).contains('2 000', 'Number of scanned is 2000');
7474
});

tests/e2e/tests/critical-path/tree-view/tree-view.e2e.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,7 @@ test
4040
.meta({ rte: rte.standalone })('Verify that user can scan DB by 10K in tree view', async t => {
4141
await t.click(browserPage.treeViewButton);
4242
//Verify that user can use the "Scan More" button to search per another 10000 keys
43-
for (let i = 10; i < 100; i += 10) {
44-
// scannedValue = scannedValue + 10;
45-
await t.expect(browserPage.progressKeyList.exists).notOk('Progress Bar is not displayed', { timeout: 30000 });
46-
const scannedValueText = await browserPage.scannedValue.textContent;
47-
const regExp = new RegExp(`${i} 00` + '.');
48-
await t.expect(scannedValueText).match(regExp, `The database is automatically scanned by ${i} 000 keys`);
49-
await t.doubleClick(browserPage.scanMoreButton);
50-
await t.expect(browserPage.progressKeyList.exists).ok('Progress Bar is displayed', { timeout: 30000 });
51-
}
43+
await browserPage.verifyScannningMore();
5244
});
5345
test
5446
.after(async() => {

tests/e2e/tests/regression/browser/filtering.e2e.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -206,33 +206,33 @@ test
206206
})
207207
.after(async() => {
208208
// Delete database
209-
await browserPage.deleteKeyByName(keyName);
210209
await deleteStandaloneDatabaseApi(ossStandaloneBigConfig);
211210
})('Verify that user can filter per key name using patterns in DB with 10-50 millions of keys', async t => {
212-
// Create new key
213-
keyName = `KeyForSearch-${chance.word({ length: 10 })}`;
214-
await browserPage.addSetKey(keyName);
215-
// Search by key name
211+
keyName = 'device*';
216212
await browserPage.selectFilterGroupType(KeyTypesTexts.Set);
217-
// Verify that required key is displayed
218-
await browserPage.searchByKeyNameWithScanMore('KeyForSearch*', keyName);
219-
// Verify that required key is displayed in tree view
213+
await browserPage.searchByKeyName(keyName);
214+
for (let i = 0; i < 10; i++) {
215+
// Verify that keys are filtered
216+
await t.expect(browserPage.keyNameInTheList.nth(i).textContent).contains('device', 'Keys filtered incorrectly by key name')
217+
.expect(browserPage.keyNameInTheList.nth(i).textContent).contains('set', 'Keys filtered incorrectly by key type');
218+
}
220219
await t.click(browserPage.treeViewButton);
221-
await browserPage.searchByKeyNameWithScanMore('KeyForSearch*', keyName);
220+
//Verify that user can use the "Scan More" button to search per another 10000 keys
221+
await browserPage.verifyScannningMore();
222222
});
223223
test
224-
.before(async () => {
224+
.before(async() => {
225225
// Add Big standalone DB
226226
await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneBigConfig, ossStandaloneBigConfig.databaseName);
227227
})
228-
.after(async () => {
228+
.after(async() => {
229229
// Delete database
230230
await deleteStandaloneDatabaseApi(ossStandaloneBigConfig);
231231
})('Verify that user can filter per key type in DB with 10-50 millions of keys', async t => {
232232
for (let i = 0; i < keyTypes.length - 2; i++) {
233233
await browserPage.selectFilterGroupType(keyTypes[i].textType);
234234
const filteredTypeKeys = keyTypes[i].keyName === 'json'
235-
? Selector(`[data-testid^=badge-ReJSON]`)
235+
? Selector('[data-testid^=badge-ReJSON]')
236236
: Selector(`[data-testid^=badge-${keyTypes[i].keyName}]`);
237237
// Verify that all results have the same type as in filter
238238
await t.expect(await browserPage.filteringLabel.count).eql(await filteredTypeKeys.count, `The keys of type ${keyTypes[i].textType} not filtered correctly`);

tests/e2e/tests/regression/browser/handle-dbsize-permissions.e2e.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ test('Verify that user without dbsize permissions can connect to DB', async t =>
5151
await cliPage.sendCommandInCli(createKeyCommand);
5252
await browserPage.searchByKeyName(keyName);
5353
await t.expect(browserPage.keysNumberOfResults.textContent).eql('1', 'Found keys number');
54-
await t.expect(browserPage.keysNumberOfScanned.textContent).contains('18 000', 'Number of scanned');
54+
await t.expect(browserPage.scannedValue.textContent).contains('18 000', 'Number of scanned');
5555
await t.expect(browserPage.keysTotalNumber.textContent).contains('18 000', 'Number of total keys');
5656
// Check bulk delete
5757
await cliPage.sendCommandInCli(createKeyCommand);

tests/e2e/tests/regression/tree-view/tree-view.e2e.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
ossStandaloneBigConfig,
66
ossStandaloneConfig
77
} from '../../../helpers/conf';
8-
import { rte } from '../../../helpers/constants';
8+
import { KeyTypesTexts, rte } from '../../../helpers/constants';
99
import { deleteStandaloneDatabaseApi } from '../../../helpers/api/api-database';
1010

1111
const browserPage = new BrowserPage();
@@ -33,9 +33,9 @@ test
3333
await t.click(browserPage.treeViewButton);
3434
await t.expect(browserPage.keyListTable.textContent).contains('No keys to display.', 'The message is displayed');
3535
});
36-
//skipped due the issue
37-
test.skip
36+
test
3837
.meta({ rte: rte.standalone })('Verify that user can see the total number of keys, the number of keys scanned, the “Scan more” control displayed at the top of Tree view and Browser view', async t => {
38+
await browserPage.selectFilterGroupType(KeyTypesTexts.Hash);
3939
//Verify the controls on the Browser view
4040
await t.expect(browserPage.totalKeysNumber.visible).ok('The total number of keys is displayed on the Browser view');
4141
await t.expect(browserPage.scannedValue.visible).ok('The number of keys scanned is displayed on the Browser view');

0 commit comments

Comments
 (0)