@@ -187,3 +187,108 @@ describe('Testing plots', () => {
187
187
cy . get ( 'text.annotation-text[data-unformatted="Now: 108"]' ) . should ( 'exist' ) ;
188
188
} ) ;
189
189
} ) ;
190
+
191
+ describe ( 'Latency by trace group table' , ( ) => {
192
+ beforeEach ( ( ) => {
193
+ cy . visit ( 'app/observability-dashboards#/trace_analytics/home' , {
194
+ onBeforeLoad : ( win ) => {
195
+ win . sessionStorage . clear ( ) ;
196
+ } ,
197
+ } ) ;
198
+ setTimeFilter ( ) ;
199
+ } ) ;
200
+
201
+ it ( 'Verify columns in Latency by trace group table along with pagination functionality' , ( ) => {
202
+ cy . get ( 'span.panel-title' ) . eq ( 0 ) . should ( 'exist' ) ;
203
+ cy . wait ( delay ) ;
204
+ cy . get ( 'span[title="Trace group name"]' ) . should ( 'exist' ) ;
205
+ cy . get ( 'span[title="Latency variance (ms)"]' ) . should ( 'exist' ) ;
206
+ cy . get ( 'span[title="Average latency (ms)"]' ) . should ( 'exist' ) ;
207
+ cy . get ( 'span[title="24-hour latency trend"]' ) . should ( 'exist' ) ;
208
+ cy . get ( 'span[title="Error rate"] .euiToolTipAnchor' ) . should ( 'exist' ) ;
209
+ cy . get ( 'span[title="Traces"] .euiToolTipAnchor' ) . should ( 'exist' ) ;
210
+ cy . get ( '[data-test-subj="tablePaginationPopoverButton"]' ) . click ( ) ;
211
+ cy . get ( '.euiIcon.euiIcon--medium.euiIcon--inherit.euiContextMenu__icon' ) . eq ( 0 ) . should ( 'exist' ) . click ( ) ;
212
+ cy . get ( '[data-test-subj="pagination-button-next"]' ) . should ( 'exist' ) . click ( ) ;
213
+ cy . get ( 'button[data-test-subj="dashboard-table-trace-group-name-button"]' ) . contains ( 'mysql' ) . should ( 'exist' ) ;
214
+ } ) ;
215
+
216
+ it ( 'Sorts the Latency by trace group table' , ( ) => {
217
+ cy . get ( 'span[title*="Trace group name"]' ) . click ( ) ;
218
+ cy . get ( '[data-test-subj="dashboard-table-trace-group-name-button"]' ) . eq ( 0 ) . contains ( '/**' ) . should ( 'exist' ) ;
219
+ cy . wait ( delay ) ;
220
+ } ) ;
221
+
222
+ it ( 'Verify tooltips in Latency by trace group table' , ( ) => {
223
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--subdued.euiIcon-isLoaded.eui-alignTop' ) . eq ( 0 ) . trigger ( 'mouseover' ) ;
224
+ cy . contains ( 'Traces of all requests that share a common API and operation at the start of distributed tracing instrumentation.' ) . should ( 'be.visible' ) ;
225
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--subdued.euiIcon-isLoaded.eui-alignTop' ) . eq ( 1 ) . trigger ( 'mouseover' ) ;
226
+ cy . contains ( 'Range of latencies for traces within a trace group in the selected time range.' ) . should ( 'be.visible' ) ;
227
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--subdued.euiIcon-isLoaded.eui-alignTop' ) . eq ( 2 ) . trigger ( 'mouseover' ) ;
228
+ cy . contains ( 'Average latency of traces within a trace group in the selected time range.' ) . should ( 'be.visible' ) ;
229
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--subdued.euiIcon-isLoaded.eui-alignTop' ) . eq ( 3 ) . trigger ( 'mouseover' ) ;
230
+ cy . contains ( '24 hour time series view of hourly average, hourly percentile, and hourly range of latency for traces within a trace group.' ) . should ( 'be.visible' ) ;
231
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--subdued.euiIcon-isLoaded.eui-alignTop' ) . eq ( 4 ) . trigger ( 'mouseover' ) ;
232
+ cy . contains ( 'Error rate based on count of trace errors within a trace group in the selected time range.' ) . should ( 'be.visible' ) ;
233
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--subdued.euiIcon-isLoaded.eui-alignTop' ) . eq ( 5 ) . trigger ( 'mouseover' ) ;
234
+ cy . contains ( 'Count of traces with unique trace identifiers in the selected time range.' ) . should ( 'be.visible' ) ;
235
+ } ) ;
236
+
237
+ it ( 'Verify Search engine on Trace dashboard' , ( ) => {
238
+ cy . get ( '.euiFieldSearch.euiFieldSearch--fullWidth' ) . click ( ) . type ( 'client_pay_order{enter}' ) ;
239
+ cy . wait ( delay ) ;
240
+ cy . get ( '.euiTableCellContent.euiTableCellContent--alignRight.euiTableCellContent--overflowingContent' ) . contains ( '211.04' ) . should ( 'exist' ) ;
241
+ cy . get ( 'button[data-test-subj="dashboard-table-trace-group-name-button"]' ) . click ( ) ;
242
+ cy . get ( '.euiBadge.euiBadge--hollow.euiBadge--iconRight.globalFilterItem' ) . click ( ) ;
243
+ cy . get ( '.euiIcon.euiIcon--medium.euiContextMenu__arrow' ) . click ( ) ;
244
+ cy . get ( '.euiContextMenuPanelTitle' ) . contains ( 'Edit filter' ) . should ( 'exist' ) ;
245
+ cy . get ( '.euiButton.euiButton--primary.euiButton--fill' ) . click ( ) ;
246
+ cy . get ( '.euiBadge.euiBadge--hollow.euiBadge--iconRight.globalFilterItem' ) . click ( ) ;
247
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 1 ) . contains ( 'Exclude results' ) . click ( ) ;
248
+ cy . get ( '.euiTextColor.euiTextColor--danger' ) . should ( 'exist' ) ;
249
+ cy . get ( '.euiBadge.euiBadge--hollow.euiBadge--iconRight.globalFilterItem' ) . click ( ) ;
250
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 1 ) . contains ( 'Include results' ) . click ( ) ;
251
+ cy . get ( '.euiBadge.euiBadge--hollow.euiBadge--iconRight.globalFilterItem' ) . click ( ) ;
252
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 2 ) . contains ( 'Temporarily disable' ) . click ( ) ;
253
+ cy . get ( '.euiBadge.euiBadge--iconRight.globalFilterItem.globalFilterItem-isDisabled' ) . should ( 'exist' ) . click ( ) ;
254
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 2 ) . contains ( 'Re-enable' ) . click ( ) ;
255
+ cy . get ( '.euiBadge.euiBadge--hollow.euiBadge--iconRight.globalFilterItem' ) . click ( ) ;
256
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 3 ) . contains ( 'Delete' ) . click ( ) ;
257
+ } ) ;
258
+ } ) ;
259
+
260
+ describe ( 'Testing filters on trace analytics page' , ( ) => {
261
+ beforeEach ( ( ) => {
262
+ cy . visit ( 'app/observability-dashboards#/trace_analytics/home' , {
263
+ onBeforeLoad : ( win ) => {
264
+ win . sessionStorage . clear ( ) ;
265
+ } ,
266
+ } ) ;
267
+ setTimeFilter ( ) ;
268
+ } ) ;
269
+
270
+ it ( 'Verify Change all filters' , ( ) => {
271
+ cy . get ( '.euiButtonIcon.euiButtonIcon--primary.euiButtonIcon--empty.euiButtonIcon--xSmall' ) . click ( ) ;
272
+ cy . get ( '.euiContextMenuPanelTitle' ) . contains ( 'Change all filters' ) . should ( 'exist' ) ;
273
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 0 ) . contains ( 'Enable all' ) ;
274
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 1 ) . contains ( 'Disable all' ) ;
275
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 2 ) . contains ( 'Invert inclusion' ) ;
276
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 3 ) . contains ( 'Invert enabled/disabled' ) ;
277
+ cy . get ( '.euiContextMenuItem__text' ) . eq ( 4 ) . contains ( 'Remove all' ) ;
278
+ } )
279
+
280
+ it ( 'Verify Add filter section' , ( ) => {
281
+ cy . get ( '.euiPopover.euiPopover--anchorDownLeft' ) . contains ( '+ Add filter' ) . click ( ) ;
282
+ cy . get ( '.euiPopoverTitle' ) . contains ( 'Add filter' ) . should ( 'exist' ) ;
283
+ cy . wait ( delay ) ;
284
+ cy . get ( '.euiComboBox__inputWrap.euiComboBox__inputWrap--noWrap' ) . eq ( 0 ) . trigger ( 'mouseover' ) . click ( ) ;
285
+ cy . get ( '.euiComboBoxOption__content' ) . eq ( 1 ) . click ( ) ;
286
+ cy . get ( '.euiComboBox__inputWrap.euiComboBox__inputWrap--noWrap' ) . eq ( 1 ) . trigger ( 'mouseover' ) . click ( ) ;
287
+ cy . get ( '.euiComboBoxOption__content' ) . eq ( 2 ) . click ( ) ;
288
+ cy . get ( '.euiButton.euiButton--primary.euiButton--fill' ) . contains ( 'Save' ) . click ( ) ;
289
+ cy . get ( '.euiBadge__content' ) . should ( 'exist' ) . click ( ) ;
290
+ cy . get ( '.euiIcon.euiIcon--medium.euiContextMenu__arrow' ) . click ( ) ;
291
+ cy . get ( '[data-test-subj="filter-popover-cancel-button"]' ) . contains ( 'Cancel' ) . click ( ) ;
292
+ cy . get ( '.euiIcon.euiIcon--small.euiIcon--inherit.euiBadge__icon' ) . click ( ) ;
293
+ } )
294
+ } ) ;
0 commit comments