1
- import { t } from 'testcafe' ;
1
+ import { Selector , t } from 'testcafe' ;
2
2
import { AddNewDatabaseParameters , SentinelParameters , OSSClusterParameters } from '../pageObjects/add-redis-database-page' ;
3
3
import { DiscoverMasterGroupsPage } from '../pageObjects/sentinel/discovered-sentinel-master-groups-page' ;
4
4
import {
9
9
UserAgreementPage ,
10
10
CliPage
11
11
} from '../pageObjects' ;
12
- import { addNewStandaloneDatabaseApi , discoverSentinelDatabaseApi } from './api/api-database' ;
12
+ import { addNewStandaloneDatabaseApi , discoverSentinelDatabaseApi , getDatabaseByName } from './api/api-database' ;
13
13
import { Common } from './common' ;
14
14
15
15
const myRedisDatabasePage = new MyRedisDatabasePage ( ) ;
@@ -96,19 +96,17 @@ export async function addOSSClusterDatabase(databaseParameters: OSSClusterParame
96
96
export async function addNewRECloudDatabase ( cloudAPIAccessKey : string , cloudAPISecretKey : string ) : Promise < string > {
97
97
// Fill the add database form and Submit
98
98
await addRedisDatabasePage . addAutodiscoverRECloudDatabase ( cloudAPIAccessKey , cloudAPISecretKey ) ;
99
- await t
100
- . click ( addRedisDatabasePage . addRedisDatabaseButton )
99
+ await t . click ( addRedisDatabasePage . addRedisDatabaseButton ) ;
101
100
// Select subscriptions
102
- . click ( addRedisDatabasePage . selectAllCheckbox )
103
- . click ( addRedisDatabasePage . showDatabasesButton ) ;
101
+ await t . click ( addRedisDatabasePage . selectAllCheckbox ) ;
102
+ await t . click ( addRedisDatabasePage . showDatabasesButton ) ;
104
103
// Select databases for adding
105
104
const databaseName = await browserPage . getDatabasesName ( ) ;
106
- await t
107
- . click ( addRedisDatabasePage . selectAllCheckbox )
108
- . click ( autoDiscoverREDatabases . addSelectedDatabases )
105
+ await t . click ( addRedisDatabasePage . selectAllCheckbox ) ;
106
+ await t . click ( autoDiscoverREDatabases . addSelectedDatabases ) ;
109
107
// Wait for database to be exist in the My redis databases list
110
- . click ( autoDiscoverREDatabases . viewDatabasesButton )
111
- . expect ( myRedisDatabasePage . dbNameList . withExactText ( databaseName ) . exists ) . ok ( 'The database not displayed' , { timeout : 10000 } ) ;
108
+ await t . click ( autoDiscoverREDatabases . viewDatabasesButton ) ;
109
+ await t . expect ( myRedisDatabasePage . dbNameList . withExactText ( databaseName ) . exists ) . ok ( 'The database not displayed' , { timeout : 10000 } ) ;
112
110
return databaseName ;
113
111
}
114
112
@@ -229,7 +227,7 @@ export async function clearDatabaseInCli(): Promise<void> {
229
227
export async function deleteDatabase ( databaseName : string ) : Promise < void > {
230
228
await t . click ( myRedisDatabasePage . myRedisDBButton ) ;
231
229
if ( await addRedisDatabasePage . addDatabaseButton . exists ) {
232
- await myRedisDatabasePage . deleteDatabaseByName ( databaseName ) ;
230
+ await deleteDatabaseByNameApi ( databaseName ) ;
233
231
}
234
232
}
235
233
@@ -246,3 +244,28 @@ export async function acceptTermsAddDatabaseOrConnectToRedisStack(databaseParame
246
244
await acceptLicenseAndConnectToRedisStack ( ) ;
247
245
}
248
246
}
247
+
248
+ /**
249
+ * Click on the edit database button by name
250
+ * @param databaseName The name of the database
251
+ */
252
+ export async function clickOnEditDatabaseByName ( databaseName : string ) : Promise < void > {
253
+ const databaseId = await getDatabaseByName ( databaseName ) ;
254
+ const databaseEditBtn = Selector ( `[data-testid=edit-instance-${ databaseId } ]` ) ;
255
+
256
+ await t . expect ( databaseEditBtn . exists ) . ok ( `"${ databaseName } " database not displayed` ) ;
257
+ await t . click ( databaseEditBtn ) ;
258
+ }
259
+
260
+ /**
261
+ * Delete database button by name
262
+ * @param databaseName The name of the database
263
+ */
264
+ export async function deleteDatabaseByNameApi ( databaseName : string ) : Promise < void > {
265
+ const databaseId = await getDatabaseByName ( databaseName ) ;
266
+ const databaseDeleteBtn = Selector ( `[data-testid=delete-instance-${ databaseId } -icon]` ) ;
267
+
268
+ await t . expect ( databaseDeleteBtn . exists ) . ok ( `"${ databaseName } " database not displayed` ) ;
269
+ await t . click ( databaseDeleteBtn ) ;
270
+ await t . click ( myRedisDatabasePage . confirmDeleteButton ) ;
271
+ }
0 commit comments