1
- import { Chance } from 'chance' ;
2
1
import { rte } from '../../../helpers/constants' ;
3
2
import { acceptLicenseTermsAndAddDatabaseApi } from '../../../helpers/database' ;
4
3
import { BrowserPage , CliPage } from '../../../pageObjects' ;
@@ -7,15 +6,16 @@ import {
7
6
ossStandaloneConfig
8
7
} from '../../../helpers/conf' ;
9
8
import { deleteStandaloneDatabaseApi } from '../../../helpers/api/api-database' ;
9
+ import { Common } from '../../../helpers/common' ;
10
10
11
11
const browserPage = new BrowserPage ( ) ;
12
12
const cliPage = new CliPage ( ) ;
13
- const chance = new Chance ( ) ;
13
+ const common = new Common ( ) ;
14
14
15
- let keyName = chance . word ( { length : 20 } ) ;
16
- let consumerGroupName = chance . word ( { length : 20 } ) ;
17
- const keyField = chance . word ( { length : 20 } ) ;
18
- const keyValue = chance . word ( { length : 20 } ) ;
15
+ let keyName = common . generateWord ( 20 ) ;
16
+ let consumerGroupName = common . generateWord ( 20 ) ;
17
+ const keyField = common . generateWord ( 20 ) ;
18
+ const keyValue = common . generateWord ( 20 ) ;
19
19
20
20
fixture `Consumer group`
21
21
. meta ( { type : 'regression' , rte : rte . standalone } )
@@ -24,83 +24,76 @@ fixture `Consumer group`
24
24
await acceptLicenseTermsAndAddDatabaseApi ( ossStandaloneConfig , ossStandaloneConfig . databaseName ) ;
25
25
} )
26
26
. afterEach ( async t => {
27
- //Clear and delete database
27
+ // Clear and delete database
28
28
if ( await browserPage . closeKeyButton . visible ) {
29
29
await t . click ( browserPage . closeKeyButton ) ;
30
30
}
31
31
await browserPage . deleteKeyByName ( keyName ) ;
32
32
await deleteStandaloneDatabaseApi ( ossStandaloneConfig ) ;
33
33
} ) ;
34
34
test ( 'Verify that when user enter invalid Group Name the error message appears' , async t => {
35
- keyName = chance . word ( { length : 20 } ) ;
36
- consumerGroupName = chance . word ( { length : 20 } ) ;
35
+ const message = 'Your Key has no Consumer Groups available.' ;
37
36
const error = 'BUSYGROUP Consumer Group name already exists' ;
38
- // Add New Stream Key
39
- await browserPage . addStreamKey ( keyName , keyField , keyValue ) ;
40
- // Open Stream consumer groups and add group
41
- await t . click ( browserPage . streamTabGroups ) ;
42
- await browserPage . createConsumerGroup ( consumerGroupName ) ;
43
- // Verify the error message
44
- await t . click ( browserPage . streamTabGroups ) ;
45
- await browserPage . createConsumerGroup ( consumerGroupName ) ;
46
- await t . expect ( browserPage . errorMessage . textContent ) . contains ( error , 'The error message that the Group name already exists' ) ;
47
- } ) ;
48
- test ( 'Verify that when user enter invalid format ID the error message appears' , async t => {
49
- keyName = chance . word ( { length : 20 } ) ;
50
- consumerGroupName = chance . word ( { length : 20 } ) ;
51
- const error = 'ID format is not correct' ;
37
+ const errorFormat = 'ID format is not correct' ;
52
38
const invalidEntryIds = [
53
39
'qwerty12344545' ,
54
40
'16545941463181654594146318'
55
41
] ;
42
+ keyName = common . generateWord ( 20 ) ;
43
+ consumerGroupName = common . generateWord ( 20 ) ;
44
+
56
45
// Add New Stream Key
57
46
await browserPage . addStreamKey ( keyName , keyField , keyValue ) ;
58
- // Open Stream consumer groups and enter invalid EntryIds
47
+ // Open Stream consumer groups and check message
59
48
await t . click ( browserPage . streamTabGroups ) ;
49
+ // Verify that user can see the message when there are no Consumer Groups
50
+ await t . expect ( browserPage . streamGroupsContainer . textContent ) . contains ( message , 'No Consumer Groups message not displayed' ) ;
51
+
52
+ // Open Stream consumer groups and enter invalid EntryIds
60
53
await t . click ( browserPage . addKeyValueItemsButton ) ;
61
- for ( const entryId of invalidEntryIds ) {
54
+ // Verify that when user enter invalid format ID the error message appears
55
+ for ( const entryId of invalidEntryIds ) {
62
56
await t . typeText ( browserPage . consumerIdInput , entryId , { replace : true , paste : true } ) ;
63
57
await t . click ( browserPage . saveGroupsButton ) ;
64
- await t . expect ( browserPage . entryIdError . textContent ) . eql ( error , 'The invalid Id error message' ) ;
58
+ await t . expect ( browserPage . entryIdError . textContent ) . eql ( errorFormat , 'The invalid Id error message not displayed ' ) ;
65
59
}
66
- } ) ;
67
- test ( 'Verify that user can see the message when there are no Consumer Groups' , async t => {
68
- keyName = chance . word ( { length : 20 } ) ;
69
- const message = 'Your Key has no Consumer Groups available.' ;
70
- // Add New Stream Key
71
- await browserPage . addStreamKey ( keyName , keyField , keyValue ) ;
72
- // Open Stream consumer groups and check message
60
+
61
+ await t . click ( browserPage . cancelStreamGroupBtn ) ;
62
+ await browserPage . createConsumerGroup ( consumerGroupName ) ;
63
+ // Verify the error message
73
64
await t . click ( browserPage . streamTabGroups ) ;
74
- await t . expect ( browserPage . streamGroupsContainer . textContent ) . contains ( message , 'The Consumer Groups message' ) ;
65
+ await browserPage . createConsumerGroup ( consumerGroupName ) ;
66
+ await t . expect ( browserPage . errorMessage . textContent ) . contains ( error , 'The error message that the Group name already exists not displayed' ) ;
75
67
} ) ;
76
68
test ( 'Verify that user can sort Consumer Group column: A>Z / Z>A(A>Z is default table sorting)' , async t => {
77
- keyName = chance . word ( { length : 20 } ) ;
69
+ keyName = common . generateWord ( 20 ) ;
78
70
const consumerGroupNames = [
79
71
'agroup' ,
80
72
'bgroup' ,
81
73
'zgroup'
82
74
] ;
75
+
83
76
// Add New Stream Key
84
77
await browserPage . addStreamKey ( keyName , keyField , keyValue ) ;
85
78
// Open Stream consumer groups and add few groups
86
79
await t . click ( browserPage . streamTabGroups ) ;
87
80
for ( const group of consumerGroupNames ) {
88
81
await browserPage . createConsumerGroup ( group ) ;
89
82
}
90
- //Verify default sorting
83
+ // Verify default sorting
91
84
const groupsCount = await browserPage . streamGroupName . count ;
92
85
for ( let i = 0 ; i < groupsCount ; i ++ ) {
93
- await t . expect ( browserPage . streamGroupName . nth ( i ) . textContent ) . contains ( consumerGroupNames [ i ] , 'The Consumer Groups default sorting' ) ;
86
+ await t . expect ( browserPage . streamGroupName . nth ( i ) . textContent ) . contains ( consumerGroupNames [ i ] , 'The Consumer Groups default sorting not working ' ) ;
94
87
}
95
- //Verify the Z>A sorting
88
+ // Verify the Z>A sorting
96
89
await t . click ( browserPage . scoreButton . nth ( 0 ) ) ;
97
90
for ( let i = 0 ; i < groupsCount ; i ++ ) {
98
- await t . expect ( browserPage . streamGroupName . nth ( i ) . textContent ) . contains ( consumerGroupNames [ groupsCount - 1 - i ] , 'The Consumer Groups Z>A sorting' ) ;
91
+ await t . expect ( browserPage . streamGroupName . nth ( i ) . textContent ) . contains ( consumerGroupNames [ groupsCount - 1 - i ] , 'The Consumer Groups Z>A sorting not working ' ) ;
99
92
}
100
93
} ) ;
101
94
test ( 'Verify that A>Z is default table sorting in Consumer column' , async t => {
102
- keyName = chance . word ( { length : 20 } ) ;
103
- consumerGroupName = chance . word ( { length : 20 } ) ;
95
+ keyName = common . generateWord ( 20 ) ;
96
+ consumerGroupName = common . generateWord ( 20 ) ;
104
97
const consumerNames = [
105
98
'Alice' ,
106
99
'Zalice'
@@ -112,23 +105,24 @@ test('Verify that A>Z is default table sorting in Consumer column', async t => {
112
105
`XREADGROUP GROUP ${ consumerGroupName } ${ consumerNames [ 0 ] } COUNT 1 STREAMS ${ keyName } >` ,
113
106
`XREADGROUP GROUP ${ consumerGroupName } ${ consumerNames [ 1 ] } COUNT 1 STREAMS ${ keyName } >`
114
107
] ;
115
- //Add New Stream Key with groups and consumers
108
+
109
+ // Add New Stream Key with groups and consumers
116
110
for ( const command of cliCommands ) {
117
111
await cliPage . sendCommandInCli ( command ) ;
118
112
}
119
- //Open Stream consumer info view
113
+ // Open Stream consumer info view
120
114
await browserPage . openKeyDetails ( keyName ) ;
121
115
await t . click ( browserPage . streamTabGroups ) ;
122
116
await t . click ( browserPage . consumerGroup ) ;
123
- //Verify default sorting
117
+ // Verify default sorting
124
118
const consumerCount = await browserPage . streamConsumerName . count ;
125
119
for ( let i = 0 ; i < consumerCount ; i ++ ) {
126
- await t . expect ( browserPage . streamConsumerName . nth ( i ) . textContent ) . contains ( consumerNames [ i ] , 'The Consumers default sorting' ) ;
120
+ await t . expect ( browserPage . streamConsumerName . nth ( i ) . textContent ) . contains ( consumerNames [ i ] , 'The Consumers default sorting not working ' ) ;
127
121
}
128
122
} ) ;
129
123
test ( 'Verify that user can see error message if enter invalid last delivered ID' , async t => {
130
- keyName = chance . word ( { length : 20 } ) ;
131
- let consumerGroupName = chance . word ( { length : 20 } ) ;
124
+ keyName = common . generateWord ( 20 ) ;
125
+ const consumerGroupName = common . generateWord ( 20 ) ;
132
126
const cliCommands = [
133
127
`XGROUP CREATE ${ keyName } ${ consumerGroupName } $ MKSTREAM` ,
134
128
`XADD ${ keyName } * message apple` ,
@@ -139,6 +133,7 @@ test('Verify that user can see error message if enter invalid last delivered ID'
139
133
'12345678901242532366121324'
140
134
] ;
141
135
const errorMessage = 'ID format is not correct' ;
136
+
142
137
// Add New Stream Key with groups and consumers
143
138
for ( const command of cliCommands ) {
144
139
await cliPage . sendCommandInCli ( command ) ;
@@ -153,6 +148,6 @@ test('Verify that user can see error message if enter invalid last delivered ID'
153
148
await t . typeText ( browserPage . lastIdInput , id , { replace : true } ) ;
154
149
await t . click ( browserPage . saveButton ) ;
155
150
await t . expect ( browserPage . streamGroupId . textContent ) . eql ( idBefore , 'The last delivered ID is not modified' ) ;
156
- await t . expect ( browserPage . entryIdError . textContent ) . eql ( errorMessage , 'The error message' ) ;
151
+ await t . expect ( browserPage . entryIdError . textContent ) . eql ( errorMessage , 'The error message not displayed ' ) ;
157
152
}
158
153
} ) ;
0 commit comments