Skip to content

Commit a94dc8d

Browse files
authored
Merge pull request #2374 from RedisInsight/e2e/bugfix/e2e-unstable-tests-fixes
fixes for unstable tests
2 parents 12f5e19 + 3cbf887 commit a94dc8d

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

tests/e2e/tests/critical-path/database/modules.e2e.ts

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Chance } from 'chance';
12
import { Selector } from 'testcafe';
23
import { rte, env } from '../../../helpers/constants';
34
import { DatabaseHelper } from '../../../helpers/database';
@@ -9,35 +10,46 @@ const myRedisDatabasePage = new MyRedisDatabasePage();
910
const browserPage = new BrowserPage();
1011
const databaseHelper = new DatabaseHelper();
1112
const databaseAPIRequests = new DatabaseAPIRequests();
13+
const chance = new Chance();
1214

1315
const moduleNameList = ['RediSearch', 'RedisJSON', 'RedisGraph', 'RedisTimeSeries', 'RedisBloom', 'RedisGears', 'RedisAI'];
1416
const moduleList = [myRedisDatabasePage.moduleSearchIcon, myRedisDatabasePage.moduleJSONIcon, myRedisDatabasePage.moduleGraphIcon, myRedisDatabasePage.moduleTimeseriesIcon, myRedisDatabasePage.moduleBloomIcon, myRedisDatabasePage.moduleGearsIcon, myRedisDatabasePage.moduleAIIcon];
17+
const uniqueId = chance.string({ length: 10 });
18+
let database = {
19+
...ossStandaloneRedisearch,
20+
databaseName: `test_standalone-redisearch-${uniqueId}`
21+
};
1522

1623
fixture `Database modules`
1724
.meta({ type: 'critical_path' })
1825
.page(commonUrl)
1926
.beforeEach(async() => {
2027
await databaseHelper.acceptLicenseTerms();
21-
await databaseAPIRequests.addNewStandaloneDatabaseApi(ossStandaloneRedisearch);
28+
database = {
29+
...ossStandaloneRedisearch,
30+
databaseName: `test_standalone-redisearch-${uniqueId}`
31+
};
32+
await databaseAPIRequests.addNewStandaloneDatabaseApi(database);
2233
// Reload Page
2334
await browserPage.reloadPage();
2435
})
2536
.afterEach(async() => {
2637
// Delete database
27-
await databaseAPIRequests.deleteStandaloneDatabaseApi(ossStandaloneRedisearch);
38+
await databaseAPIRequests.deleteStandaloneDatabaseApi(database);
2839
});
2940
test
3041
.meta({ rte: rte.standalone, env: env.web })('Verify that user can see DB modules on DB list page for Standalone DB', async t => {
3142
// Check module column on DB list page
3243
await t.expect(myRedisDatabasePage.moduleColumn.exists).ok('Module column not found');
3344
// Verify that user can see the following sorting order: Search, JSON, Graph, TimeSeries, Bloom, Gears, AI for modules
34-
const databaseLine = myRedisDatabasePage.dbNameList.withExactText(ossStandaloneRedisearch.databaseName).parent('tr');
45+
const databaseLine = myRedisDatabasePage.dbNameList.withExactText(database.databaseName).parent('tr');
3546
await t.expect(databaseLine.visible).ok('Database not found in db list');
3647
const moduleIcons = databaseLine.find('[data-testid^=Redi]');
37-
const numberOfIcons = moduleIcons.count;
38-
for (let i = 0; i < await numberOfIcons; i++) {
39-
const moduleName = moduleIcons.nth(i).getAttribute('data-testid');
40-
await t.expect(moduleName).eql(await moduleList[i].getAttribute('data-testid'), `${moduleName} icon not found`);
48+
const numberOfIcons = await moduleIcons.count;
49+
for (let i = 0; i < numberOfIcons; i++) {
50+
const moduleName = await moduleIcons.nth(i).getAttribute('data-testid');
51+
const expectedName = await moduleList[i].getAttribute('data-testid');
52+
await t.expect(moduleName).eql(expectedName, `${moduleName} icon not found`);
4153
}
4254
//Minimize the window to check quantifier
4355
await t.resizeWindow(1000, 700);
@@ -64,7 +76,7 @@ test
6476
test
6577
.meta({ rte: rte.standalone })('Verify that user can see icons in DB header for RediSearch, RedisGraph, RedisJSON, RedisBloom, RedisTimeSeries, RedisGears, RedisAI default modules', async t => {
6678
// Connect to DB
67-
await myRedisDatabasePage.clickOnDBByName(ossStandaloneRedisearch.databaseName);
79+
await myRedisDatabasePage.clickOnDBByName(database.databaseName);
6880
// Check all available modules in overview
6981
const moduleIcons = Selector('div').find('[data-testid^=Redi]');
7082
const numberOfIcons = await moduleIcons.count;

tests/e2e/tests/critical-path/memory-efficiency/recommendations.e2e.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,14 @@ test
174174
await browserPage.deleteKeyByName(keyName);
175175
await databaseAPIRequests.deleteStandaloneDatabaseApi(ossStandaloneConfig);
176176
})('Verify that user can see the Tutorial opened when clicking on "Tutorial" for recommendations', async t => {
177+
const recommendation = memoryEfficiencyPage.getRecommendationByName(searchJsonRecommendation);
178+
for (let i = 0; i < 5; i++) {
179+
if (!(await recommendation.exists)) {
180+
await t.click(memoryEfficiencyPage.newReportBtn);
181+
}
182+
}
177183
// Verify that Optimize the use of time series recommendation displayed
178-
await t.expect(await memoryEfficiencyPage.getRecommendationByName(searchJsonRecommendation).exists).ok('Query and search JSON documents recommendation not displayed');
184+
await t.expect(recommendation.exists).ok('Query and search JSON documents recommendation not displayed');
179185
// Verify that tutorial opened
180186
await t.click(memoryEfficiencyPage.getToTutorialBtnByRecomName(searchJsonRecommendation));
181187
await t.expect(workbenchPage.preselectArea.visible).ok('Workbench Enablement area not opened');

0 commit comments

Comments
 (0)