Skip to content

Commit 5494565

Browse files
Merge branch 'fe/feature/RI-5156_rdi_tip' of https://github.com/RedisInsight/RedisInsight into fe/feature/RI-5156_rdi_tip
2 parents 9c03ef3 + 6b71c67 commit 5494565

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

tests/e2e/helpers/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export enum RecommendationIds {
4646
useSmallerKeys = 'useSmallerKeys',
4747
avoidLogicalDatabases = 'avoidLogicalDatabases',
4848
searchJson = 'searchJSON',
49+
rdi = 'tryRDI'
4950
}
5051

5152
export enum LibrariesSections {

tests/e2e/pageObjects/components/recommendations-tab.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,13 @@ export class RecommendationsTab {
7777
const tutorialBtn = Selector(`[data-testid=${recommendationName}-to-tutorial-btn]`);
7878
await t.click(tutorialBtn);
7979
}
80+
81+
/**
82+
* click on navigate button in the recommendation
83+
* @param recommendationName Name of recommendation
84+
*/
85+
async clickOnNavigationButton(recommendationName: RecommendationIds): Promise<void> {
86+
const button = Selector(`[data-testid^=internal-link-${recommendationName}]`);
87+
await t.click(button);
88+
}
8089
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { t } from 'testcafe';
2+
import { commonUrl, ossStandaloneRedisGears } from '../../../../helpers/conf';
3+
import { DatabaseHelper } from '../../../../helpers';
4+
import { BrowserPage, MyRedisDatabasePage } from '../../../../pageObjects';
5+
import { ExploreTabs, RecommendationIds, RedisOverviewPage } from '../../../../helpers/constants';
6+
import { DatabaseAPIRequests } from '../../../../helpers/api/api-database';
7+
import { RdiInstancesListPage } from '../../../../pageObjects/rdi-instances-list-page';
8+
9+
const databaseHelper = new DatabaseHelper();
10+
const myRedisDatabasePage = new MyRedisDatabasePage();
11+
const databaseAPIRequests = new DatabaseAPIRequests();
12+
const browserPage = new BrowserPage();
13+
const rdiInstancesListPage = new RdiInstancesListPage();
14+
15+
const rdiRecommendation = RecommendationIds.rdi;
16+
17+
//skip the tests until rdi integration is added
18+
fixture.skip `Rdi recommendation`
19+
.meta({ type: 'critical_path', feature: 'rdi' })
20+
.page(commonUrl)
21+
.beforeEach(async() => {
22+
await databaseHelper.acceptLicenseTerms();
23+
await myRedisDatabasePage.setActivePage(RedisOverviewPage.DataBase);
24+
await databaseHelper.acceptLicenseTermsAndAddDatabaseApi(ossStandaloneRedisGears);
25+
})
26+
.afterEach(async() => {
27+
await databaseAPIRequests.deleteAllDatabasesApi();
28+
});
29+
// it doesn't work until recommendation.json is not updated
30+
test('Verify that rdi recommendation is displayed for oss cluster', async() => {
31+
await browserPage.InsightsPanel.togglePanel(true);
32+
const tab = await browserPage.InsightsPanel.setActiveTab(ExploreTabs.Tips);
33+
await t.expect(tab.getRecommendationByName(rdiRecommendation).exists).ok('Redis Version recommendation not displayed');
34+
await tab.clickOnNavigationButton(rdiRecommendation);
35+
36+
await t.expect(rdiInstancesListPage.rdiInstanceButton.exists).ok('Navigation for recommendation is not correct');
37+
});

0 commit comments

Comments
 (0)