Skip to content

Commit c22f1e5

Browse files
authored
Merge pull request #1233 from RedisInsight/e2e/feature/RI-3607_auto-button
[E2E] add e2e for auto-execute button
2 parents 1ea310f + e2fccbb commit c22f1e5

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

tests/e2e/pageObjects/workbench-page.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ export class WorkbenchPage {
6262
rawModeBtn = Selector('[data-testid="btn-change-mode"]');
6363
groupMode = Selector('[data-testid=btn-change-group-mode]');
6464
copyCommand = Selector('[data-testid=copy-command]');
65+
redisStackTimeSeriesLoadMorePoints = Selector('[data-testid=preselect-Load more data points]');
66+
documentHashCreateButton = Selector('[data-testid=preselect-auto-Create]');
6567
//ICONS
6668
noCommandHistoryIcon = Selector('[data-testid=wb_no-results__icon]');
6769
//LINKS
@@ -105,6 +107,7 @@ export class WorkbenchPage {
105107
workbenchCommandInHistory = Selector(this.cssWorkbenchCommandInHistory);
106108
workbenchCommandSuccessResultInHistory = Selector(this.cssWorkbenchCommandSuccessResultInHistory);
107109
workbenchCommandFailedResultInHistory = Selector(this.cssWorkbenchCommandFailedResultInHistory);
110+
commandExecutionDateAndTime = Selector('[data-testid=command-execution-date-time]');
108111
//MONACO ELEMENTS
109112
monacoCommandDetails = Selector('div.suggest-details-container');
110113
monacoCloseCommandDetails = Selector('span.codicon-close');
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { acceptLicenseTermsAndAddDatabaseApi } from '../../../helpers/database';
2+
import { WorkbenchPage, MyRedisDatabasePage } from '../../../pageObjects';
3+
import { env, rte } from '../../../helpers/constants';
4+
import { commonUrl, ossStandaloneConfig } from '../../../helpers/conf';
5+
import { deleteStandaloneDatabaseApi } from '../../../helpers/api/api-database';
6+
7+
const myRedisDatabasePage = new MyRedisDatabasePage();
8+
const workbenchPage = new WorkbenchPage();
9+
10+
fixture `Workbench Auto-Execute button`
11+
.meta({ type: 'regression', rte: rte.standalone, env: env.web })
12+
.page(commonUrl)
13+
.beforeEach(async t => {
14+
await acceptLicenseTermsAndAddDatabaseApi(ossStandaloneConfig, ossStandaloneConfig.databaseName);
15+
await t.click(myRedisDatabasePage.workbenchButton);
16+
})
17+
.afterEach(async() => {
18+
// Clear and delete database
19+
await deleteStandaloneDatabaseApi(ossStandaloneConfig);
20+
});
21+
// Test is skipped until Enablement area will be updated with auto-execute buttons
22+
test.skip('Verify that when user clicks on auto-execute button, command is run', async t => {
23+
const command = 'INFO';
24+
// Verify that clicking on auto-executed button, command is not inserted to Editor
25+
await t.typeText(workbenchPage.queryInput, command);
26+
// Verify that admin can use redis-auto format in .md file for Guides for auto-executed button
27+
await t.click(workbenchPage.documentButtonInQuickGuides);
28+
await t.click(workbenchPage.internalLinkWorkingWithHashes);
29+
await t.click(workbenchPage.preselectHashCreate);
30+
await t.expect(workbenchPage.queryInput.textContent).eql(command, 'Editor is changed');
31+
// Verify that admin can use redis-auto format in .md file for Tutorials for auto-executed button
32+
await t.click(workbenchPage.redisStackTutorialsButton);
33+
await t.click(workbenchPage.timeSeriesLink);
34+
// Verify that when user runs auto-executed commands, selected group mode setting is considered
35+
await t.click(workbenchPage.groupMode);
36+
// Verify that when user runs auto-executed commands, selected raw mode setting is considered
37+
await t.click(workbenchPage.rawModeBtn);
38+
await t.click(workbenchPage.redisStackTimeSeriesLoadMorePoints);
39+
// Verify that user can see auto-executed command result in command history
40+
const regExp = new RegExp('66[1-9] Command(s) - \d+ success, \d+ error(s)');
41+
await t.expect(workbenchPage.queryCardCommand.textContent).match(regExp, 'Not valid summary for group mode');
42+
await t.expect(workbenchPage.commandExecutionDateAndTime.find('span').withExactText('-r')).ok('Not valid summary for raw mode');
43+
});

0 commit comments

Comments
 (0)