Skip to content

Commit 8158270

Browse files
add test for RI-6371
1 parent a17594b commit 8158270

File tree

3 files changed

+98
-3
lines changed

3 files changed

+98
-3
lines changed

tests/e2e/pageObjects/components/overview-panel.ts

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,19 @@ export class OverviewPanel {
1414
overviewSpinner = Selector('[class*=euiLoadingSpinner--medium]');
1515
// BUTTONS
1616
myRedisDBLink = Selector('[data-testid=my-redis-db-btn]', { timeout: 1000 });
17-
overviewRedisStackLogo = Selector('[data-testid=redis-stack-logo]');
18-
overviewMoreInfo = Selector('[data-testid=overview-more-info-button]');
1917
changeIndexBtn = Selector('[data-testid=change-index-btn]');
2018
databaseInfoIcon = Selector('[data-testid=db-info-icon]');
19+
dbName = Selector('[data-testid=nav-instance-popover-btn]');
20+
homeLinkNavigation = Selector('[class*=homePageLink]');
21+
dbListInstance = Selector('[data-testid^=instance-item-]');
22+
rdiNavigationTab = Selector('[data-testid*=Integration-tab-id]');
2123
// PANEL
2224
overviewTooltip = Selector('[data-testid=overview-more-info-tooltip]');
2325
databaseInfoToolTip = Selector('[data-testid=db-info-tooltip]', { timeout: 2000 });
2426
// INPUTS
2527
changeIndexInput = Selector('[data-testid=change-index-input]');
28+
dbListInput = Selector('[data-testid=instances-nav-popover-search]');
29+
2630

2731
/**
2832
* Change database index
@@ -49,4 +53,18 @@ export class OverviewPanel {
4953
async waitForCpuIsCalculated(): Promise<void> {
5054
await t.expect(this.overviewSpinner.visible).notOk('cpu is not calculated, spinner is still displayed');
5155
}
56+
57+
/**
58+
* Get all databases from List of DBs page
59+
*/
60+
async getAllDatabases(): Promise<string[]> {
61+
const databases: string[] = [];
62+
const n = await this.dbListInstance.count;
63+
64+
for(let k = 0; k < n; k++) {
65+
const name = await this.dbListInstance.nth(k).textContent;
66+
databases.push(name);
67+
}
68+
return databases;
69+
}
5270
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,10 @@ export class MyRedisDatabasePage extends BaseOverviewPage {
177177
* Get all databases from List of DBs page
178178
*/
179179
async getAllDatabases(): Promise<string[]> {
180+
180181
const databases: string[] = [];
182+
await t.expect(this.dbNameList.exists).ok()
181183
const n = await this.dbNameList.count;
182-
183184
for(let k = 0; k < n; k++) {
184185
const name = await this.dbNameList.nth(k).textContent;
185186
databases.push(name);
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import { DatabaseHelper } from '../../../../helpers/database';
2+
import { BrowserPage, MyRedisDatabasePage } from '../../../../pageObjects';
3+
import {
4+
commonUrl,
5+
ossStandaloneConfig, ossStandaloneV7Config
6+
} from '../../../../helpers/conf';
7+
import { rte } from '../../../../helpers/constants';
8+
import { DatabaseAPIRequests } from '../../../../helpers/api/api-database';
9+
//import { AddNewRdiParameters } from '../../../../helpers/api/api-rdi';
10+
//import { RdiApiRequests } from '../../../../helpers/api/api-rdi';
11+
12+
const databaseHelper = new DatabaseHelper();
13+
const databaseAPIRequests = new DatabaseAPIRequests();
14+
const myRedisDatabasePage = new MyRedisDatabasePage();
15+
const browserPage = new BrowserPage();
16+
17+
//const rdiApiRequests = new RdiApiRequests();
18+
19+
// const rdiInstance: AddNewRdiParameters = {
20+
// name: 'testInstance',
21+
// url: 'https://11.111.111.111',
22+
// username: 'username',
23+
// password: '111'
24+
// };
25+
26+
fixture `Database Navigation`
27+
.meta({ type: 'regression', rte: rte.standalone })
28+
.page(commonUrl)
29+
.beforeEach(async() => {
30+
await databaseAPIRequests.deleteAllDatabasesApi();
31+
await databaseHelper.acceptLicenseTerms();
32+
await databaseAPIRequests.addNewStandaloneDatabaseApi(
33+
ossStandaloneConfig
34+
);
35+
await databaseAPIRequests.addNewStandaloneDatabaseApi(
36+
ossStandaloneV7Config
37+
);
38+
await myRedisDatabasePage.reloadPage();
39+
// TODO uncomment when RDI e2e starts running
40+
//await rdiApiRequests.addNewRdiApi(rdiInstance);
41+
42+
})
43+
.afterEach(async() => {
44+
// Delete database
45+
await databaseAPIRequests.deleteAllDatabasesApi();
46+
});
47+
test('Verify that user can navigate to instances using navigation widget', async t => {
48+
49+
const dbListPageNames = await myRedisDatabasePage.getAllDatabases()
50+
await myRedisDatabasePage.clickOnDBByName(
51+
ossStandaloneConfig.databaseName
52+
);
53+
await t.click(browserPage.OverviewPanel.dbName)
54+
let dbWidgetNames = await browserPage.OverviewPanel.getAllDatabases();
55+
await t.expect(dbListPageNames).eql(dbWidgetNames, 'DB Lists have the same names');
56+
await t.click(browserPage.OverviewPanel.dbListInstance.withText(ossStandaloneV7Config.databaseName));
57+
await t.expect(browserPage.OverviewPanel.dbName.textContent).eql(ossStandaloneV7Config.databaseName, 'user can not be navigated');
58+
await t.click(browserPage.OverviewPanel.dbName)
59+
await t.click(browserPage.OverviewPanel.homeLinkNavigation);
60+
await t.expect(myRedisDatabasePage.hostPort.exists).ok('Db list page is not opened');
61+
62+
63+
await myRedisDatabasePage.clickOnDBByName(
64+
ossStandaloneConfig.databaseName
65+
)
66+
await t.debug();
67+
await t.click(browserPage.OverviewPanel.dbName)
68+
await t.typeText(browserPage.OverviewPanel.dbListInput, ossStandaloneV7Config.databaseName);
69+
await t.debug();
70+
dbWidgetNames = await browserPage.OverviewPanel.getAllDatabases();
71+
await t.expect(dbWidgetNames.length).eql(1, 'DB List is not searched');
72+
await t.click(browserPage.OverviewPanel.rdiNavigationTab);
73+
74+
//TODO uncomment when RDI e2e starts running
75+
//await t.expect(dbListPageNames.length).eql(1, 'RDI List is not searched');
76+
});

0 commit comments

Comments
 (0)