Skip to content

Commit 4aa1250

Browse files
Merge pull request #671 from krishagarwal278/cherry-pick-663-to-release-4.19
[release-4.19] OCPBUGS-66388: Time range and Refresh interval dropdown button lack of unique identifier
2 parents 4257a32 + 8a0e35b commit 4aa1250

File tree

3 files changed

+235
-2
lines changed

3 files changed

+235
-2
lines changed

web/src/components/dashboards/legacy/time-dropdowns.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { DEFAULT_REFRESH_INTERVAL, DropDownPollInterval } from '../../dropdown-p
1919
import { useBoolean } from '../../hooks/useBoolean';
2020
import { getLegacyObserveState, usePerspective } from '../../hooks/usePerspective';
2121
import { QueryParams } from '../../query-params';
22+
import { LegacyDashboardPageTestIDs } from '../../data-test';
2223
import CustomTimeRangeModal from './custom-time-range-modal';
2324

2425
const CUSTOM_TIME_RANGE_KEY = 'CUSTOM_TIME_RANGE_KEY';
@@ -101,7 +102,7 @@ export const TimespanDropdown: React.FC = () => {
101102
<StackItem>
102103
<label htmlFor="monitoring-time-range-dropdown">{t('Time range')}</label>
103104
</StackItem>
104-
<StackItem>
105+
<StackItem data-test={LegacyDashboardPageTestIDs.TimeRangeDropdown}>
105106
<SimpleSelect
106107
id="monitoring-time-range-dropdown"
107108
initialOptions={initialOptions}
@@ -111,6 +112,7 @@ export const TimespanDropdown: React.FC = () => {
111112
}
112113
}}
113114
placeholder={t('Last {{count}} minute', { count: 30 })}
115+
data-test={LegacyDashboardPageTestIDs.TimeRangeDropdownOptions}
114116
/>
115117
</StackItem>
116118
</Stack>
@@ -140,7 +142,7 @@ export const PollIntervalDropdown: React.FC = () => {
140142
<StackItem>
141143
<label htmlFor="refresh-interval-dropdown">{t('Refresh interval')}</label>
142144
</StackItem>
143-
<StackItem>
145+
<StackItem data-test={LegacyDashboardPageTestIDs.PollIntervalDropdown}>
144146
<DropDownPollInterval
145147
id="refresh-interval-dropdown"
146148
setInterval={setInterval}

web/src/components/data-test.ts

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
export const DataTestIDs = {
2+
AlertCluster: 'alert-cluster',
3+
AlertResourceIcon: 'alert-resource-icon',
4+
AlertResourceLink: 'alert-resource-link',
5+
AlertNamespace: 'alert-namespace',
6+
AlertState: 'alert-state',
7+
AlertSource: 'alert-source',
8+
AlertingRuleArrow: 'alerting-rule-arrow',
9+
AlertingRuleResourceIcon: 'alerting-rule-resource-icon',
10+
AlertingRuleResourceLink: 'alerting-rule-resource-link',
11+
AlertingRuleSeverityBadge: 'alerting-rule-severity-badge',
12+
AlertingRuleStateBadge: 'alerting-rule-state-badge',
13+
AlertingRuleTotalAlertsBadge: 'alerting-rule-total-alerts-badge',
14+
LabelSuggestion: 'suggestion-line',
15+
CancelButton: 'cancel-button',
16+
Breadcrumb: 'breadcrumb',
17+
DownloadCSVButton: 'download-csv-button',
18+
EmptyBoxBody: 'empty-box-body',
19+
ExpireSilenceButton: 'expire-silence-button',
20+
ExpireXSilencesButton: 'expire-x-silences-button',
21+
Expression: 'expression',
22+
KebabDropdownButton: 'kebab-dropdown-button',
23+
MastHeadHelpIcon: 'help-dropdown-toggle',
24+
MastHeadApplicationItem: 'application-launcher-item',
25+
MetricGraph: 'metric-graph',
26+
MetricGraphNoDatapointsFound: 'datapoints-msg',
27+
MetricGraphTimespanDropdown: 'graph-timespan-dropdown',
28+
MetricGraphTimespanInput: 'graph-timespan-input',
29+
MetricDisconnectedCheckbox: 'disconnected-checkbox',
30+
MetricDropdownPollInterval: 'dropdown-poll-interval',
31+
MetricGraphUnitsDropDown: 'graph-units-dropdown',
32+
MetricHideShowGraphButton: 'hide-show-graph-button',
33+
MetricResetZoomButton: 'reset-zoom-button',
34+
MetricStackedCheckbox: 'stacked-checkbox',
35+
MetricsPageActionsDropdownButton: 'actions-dropdown-button',
36+
MetricsPageAddQueryButton: 'add-query-button',
37+
MetricsPageAddQueryDropdownItem: 'add-query-dropdown-item',
38+
MetricsPageDeleteAllQueriesDropdownItem: 'delete-all-queries-dropdown-item',
39+
MetricsPageDeleteQueryDropdownItem: 'delete-query-dropdown-item',
40+
MetricsPageDisableEnableQuerySwitch: 'disable-enable-query-switch',
41+
MetricsPageDuplicateQueryDropdownItem: 'duplicate-query-dropdown-item',
42+
MetricsPageDisableEnableQueryDropdownItem: 'disable-enable-query-dropdown-item',
43+
MetricsPageExpandCollapseRowButton: 'expand-collapse-row-button', //div
44+
MetricsPageExpandCollapseAllDropdownItem: 'expand-collapse-all-dropdown-item',
45+
MetricsPageExportCsvDropdownItem: 'export-csv-dropdown-item',
46+
MetricsPageHideShowAllSeriesDropdownItem: 'hide-show-all-series-dropdown-item',
47+
MetricsPageInsertExampleQueryButton: 'insert-example-query-button',
48+
MetricsPageNoQueryEnteredTitle: 'no-query-entered-title',
49+
MetricsPageNoQueryEntered: 'no-query-entered',
50+
MetricsPageQueryTable: 'query-table',
51+
MetricsPageRunQueriesButton: 'run-queries-button',
52+
MetricsPageSelectAllUnselectAllButton: 'select-all-unselect-all-button',
53+
MetricsPageSeriesButton: 'series-button',
54+
MetricsPageYellowNoDatapointsFound: 'yellow-no-datapoints-found',
55+
NameInput: 'name-filter-input',
56+
NameLabelDropdown: 'console-select-menu-toggle',
57+
NamespaceDropdownMenuLink: 'dropdown-menu-item-link',
58+
NameLabelDropdownOptions: 'console-select-item',
59+
NamespaceDropdownShowSwitch: 'showSystemSwitch',
60+
NamespaceDropdownTextFilter: 'dropdown-text-filter',
61+
PersesDashboardDropdown: 'dashboard-dropdown',
62+
SeverityBadgeHeader: 'severity-badge-header',
63+
SeverityBadge: 'severity-badge',
64+
SilenceAlertDropdownItem: 'silence-alert-dropdown-item',
65+
SilenceButton: 'silence-button',
66+
SilenceEditDropdownItem: 'silence-edit-dropdown-item',
67+
SilenceExpireDropdownItem: 'silence-expire-dropdown-item',
68+
SilenceRecreateDropdownItem: 'silence-recreate-dropdown-item',
69+
SilenceResourceIcon: 'silence-resource-icon',
70+
SilenceResourceLink: 'silence-resource-link',
71+
SilencesPageFormTestIDs: {
72+
AddLabel: 'add-label',
73+
AlertLabelsDescription: 'alert-labels-description',
74+
Comment: 'comment',
75+
Creator: 'creator',
76+
Description: 'description-header',
77+
LabelName: 'label-name',
78+
LabelValue: 'label-value',
79+
NegativeMatcherCheckbox: 'negative-matcher-checkbox',
80+
Regex: 'regex-checkbox',
81+
RemoveLabel: 'remove-label',
82+
SilenceFrom: 'silence-from',
83+
SilenceFor: 'silence-for',
84+
SilenceForToggle: 'silence-for-toggle',
85+
SilenceUntil: 'silence-until',
86+
StartImmediately: 'start-immediately',
87+
},
88+
TypeaheadSelectInput: 'query-select-typeahead-input',
89+
Table: 'OUIA-Generated-Table', //table ouiaid - ID to be used with byOUIAID(DataTestIDs.Table)
90+
MetricsGraphAlertDanger: 'OUIA-Generated-Alert-danger', //ID to be used with byOUIAID(DataTestIDs.MetricsGraphAlertDanger)
91+
92+
// Incidents Page Test IDs
93+
IncidentsPage: {
94+
Toolbar: 'incidents-toolbar',
95+
DaysSelect: 'incidents-days-select',
96+
DaysSelectToggle: 'incidents-days-select-toggle',
97+
DaysSelectList: 'incidents-days-select-list',
98+
DaysSelectOption: 'incidents-days-select-option',
99+
FiltersSelect: 'incidents-filters-select',
100+
FiltersSelectToggle: 'incidents-filters-select-toggle',
101+
FiltersSelectList: 'incidents-filters-select-list',
102+
FiltersSelectOption: 'incidents-filters-select-option',
103+
FilterChip: 'incidents-filter-chip',
104+
FilterChipRemove: 'incidents-filter-chip-remove',
105+
ClearAllFiltersButton: 'incidents-clear-all-filters',
106+
ToggleChartsButton: 'incidents-toggle-charts',
107+
LoadingSpinner: 'incidents-loading-spinner',
108+
},
109+
110+
// Incidents Chart Test IDs
111+
IncidentsChart: {
112+
Card: 'incidents-chart-card',
113+
Title: 'incidents-chart-title',
114+
ChartContainer: 'incidents-chart-container',
115+
LoadingSpinner: 'incidents-chart-loading-spinner',
116+
ChartBars: 'incidents-chart-bars',
117+
ChartBar: 'incidents-chart-bar',
118+
},
119+
120+
// Alerts Chart Test IDs
121+
AlertsChart: {
122+
Card: 'alerts-chart-card',
123+
Title: 'alerts-chart-title',
124+
EmptyState: 'alerts-chart-empty-state',
125+
ChartContainer: 'alerts-chart-container',
126+
ChartBar: 'alerts-chart-bar',
127+
},
128+
129+
// Incidents Table Test IDs
130+
IncidentsTable: {
131+
Table: 'incidents-alerts-table',
132+
ExpandButton: 'incidents-table-expand-button',
133+
Row: 'incidents-table-row',
134+
ComponentCell: 'incidents-table-component-cell',
135+
SeverityCell: 'incidents-table-severity-cell',
136+
StateCell: 'incidents-table-state-cell',
137+
},
138+
139+
// Incidents Details Row Table Test IDs
140+
IncidentsDetailsTable: {
141+
Table: 'incidents-details-table',
142+
LoadingSpinner: 'incidents-details-loading-spinner',
143+
Row: 'incidents-details-row',
144+
AlertRuleCell: 'incidents-details-alert-rule-cell',
145+
NamespaceCell: 'incidents-details-namespace-cell',
146+
SeverityCell: 'incidents-details-severity-cell',
147+
StateCell: 'incidents-details-state-cell',
148+
StartCell: 'incidents-details-start-cell',
149+
EndCell: 'incidents-details-end-cell',
150+
AlertRuleLink: 'incidents-details-alert-rule-link',
151+
},
152+
};
153+
154+
export const LegacyDashboardPageTestIDs = {
155+
TimeRangeDropdown: 'time-range-dropdown', //div
156+
TimeRangeDropdownOptions: 'time-range-dropdown-options',
157+
PollIntervalDropdown: 'poll-interval-dropdown', //div
158+
PollIntervalDropdownOptions: 'poll-interval-dropdown-options',
159+
Inspect: 'inspect',
160+
ExportAsCsv: 'export-as-csv',
161+
DashboardDropdown: 'dashboard-dropdown', //div
162+
DashboardTimeRangeDropdownMenu: 'monitoring-time-range-dropdown', //div using get('#'+LegacyDashboardPageTestIDs.DashboardTimeRangeDropdownMenu)
163+
DashboardRefreshIntervalDropdownMenu: 'refresh-interval-dropdown', //div using get('#'+LegacyDashboardPageTestIDs.DashboardRefreshIntervalDropdownMenu)
164+
Graph: 'graph',
165+
};
166+
167+
export const LegacyTestIDs = {
168+
ItemFilter: 'item-filter',
169+
SelectAllSilencesCheckbox: 'select-all-silences-checkbox',
170+
PersesDashboardSection: 'dashboard',
171+
NamespaceBarDropdown: 'namespace-bar-dropdown',
172+
};
173+
174+
export const IDs = {
175+
ChartAxis0ChartLabel: 'chart-axis-0-ChartLabel', //id^=IDs.ChartAxis0ChartLabel AxisX
176+
ChartAxis1ChartLabel: 'chart-axis-1-ChartLabel', //id^=IDs.ChartAxis1ChartLabel AxisY
177+
};
178+
179+
export const Classes = {
180+
ExpandedRow: 'button[class="pf-v6-c-button pf-m-plain pf-m-expanded"]',
181+
ToExpandRow: 'button[class="pf-v6-c-button pf-m-plain"]',
182+
FilterDropdown: '.pf-v6-c-menu-toggle, .pf-v5-c-menu-toggle',
183+
FilterDropdownExpanded: '.pf-v6-c-menu-toggle.pf-m-expanded, .pf-v5-c-menu-toggle.pf-m-expanded',
184+
FilterDropdownOption: '.pf-v6-c-menu__item, .pf-c-select__menu-item',
185+
GraphCardInlineInfo:
186+
'.pf-v6-c-alert.pf-m-inline.pf-m-plain.pf-m-info, .pf-v5-c-alert.pf-m-inline.pf-m-plain.pf-m-info.query-browser__reduced-resolution',
187+
HorizontalNav: '.pf-v6-c-tabs__item, .co-m-horizontal-nav__menu-item',
188+
IndividualTag: '.pf-v6-c-label__text, .pf-v5-c-chip__text',
189+
LabelTag: '.pf-v6-c-label__text, .pf-v5-c-label__text',
190+
MainTag: '.pf-v6-c-label-group__label, .pf-v5-c-chip-group__label',
191+
MenuItem: '.pf-v6-c-menu__item, .pf-c-dropdown__menu-item',
192+
MenuItemDisabled: '.pf-v6-c-menu__list-item.pf-m-aria-disabled',
193+
MenuToggle: '.pf-v6-c-menu-toggle, .pf-c-dropdown__toggle',
194+
MetricsPagePredefinedQueriesMenuItem: '.pf-v6-c-menu__item, .pf-v5-c-select__menu-item',
195+
MetricsPageRows: '.pf-v6-c-data-list.pf-m-grid-md',
196+
MetricsPageExpandedRowIcon: '.pf-v6-c-data-list__item.pf-m-expanded', //li
197+
MetricsPageCollapsedRowIcon: '.pf-v6-c-data-list__item', //li
198+
MetricsPageQueryInput: '.cm-content.cm-lineWrapping',
199+
MetricsPageUngraphableResults: '.pf-v6-c-title.pf-m-md',
200+
MetricsPageUngraphableResultsDescription: '.pf-v6-c-empty-state__body',
201+
MetricsPageQueryAutocomplete: '.cm-tooltip-autocomplete.cm-tooltip.cm-tooltip-below',
202+
MoreLessTag: '.pf-v6-c-label-group__label, .pf-v5-c-chip-group__label',
203+
NamespaceDropdown: '.pf-v6-c-menu-toggle.co-namespace-dropdown__menu-toggle',
204+
SectionHeader: '.pf-v6-c-title.pf-m-h2, .co-section-heading',
205+
TableHeaderColumn: '.pf-v6-c-table__button, .pf-c-table__button',
206+
SilenceAlertTitle: '.pf-v6-c-alert__title, .pf-v5-c-alert__title',
207+
SilenceAlertDescription: '.pf-v6-c-alert__description, .pf-v5-c-alert__description',
208+
SilenceCommentWithoutError: '.pf-v6-c-form-control.pf-m-textarea.pf-m-resize-both',
209+
SilenceCommentWithError: '.pf-v6-c-form-control.pf-m-textarea.pf-m-resize-both.pf-m-error',
210+
SilenceCreatorWithError: '.pf-v6-c-form-control.pf-m-error',
211+
SilenceHelpText: '.pf-v6-c-helper-text__item-text, .pf-v5-c-helper-text__item-text',
212+
SilenceKebabDropdown: '.pf-v6-c-menu-toggle.pf-m-plain, .pf-v5-c-dropdown__toggle.pf-m-plain',
213+
SilenceLabelRow: '.pf-v6-l-grid.pf-m-all-12-col-on-sm.pf-m-all-4-col-on-md.pf-m-gutter, .row',
214+
SilenceState: '.pf-v6-l-stack__item, .co-break-word',
215+
};
216+
217+
export const persesAriaLabels = {
218+
TimeRangeDropdown: 'Select time range. Currently set to [object Object]',
219+
RefreshButton: 'Refresh',
220+
RefreshIntervalDropdown: 'Select refresh interval. Currently set to 0s',
221+
ZoomInButton: 'Zoom in',
222+
ZoomOutButton: 'Zoom out',
223+
};
224+
225+
export const persesDataTestIDs = {
226+
variableDropdown: 'variable',
227+
panelGroupHeader: 'panel-group-header',
228+
panelHeader: 'panel',
229+
};

web/src/components/dropdown-poll-interval.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
parsePrometheusDuration,
66
} from './console/console-shared/src/datetime/prometheus';
77
import { SimpleSelect, SimpleSelectOption } from '@patternfly/react-templates';
8+
import { LegacyDashboardPageTestIDs } from './data-test';
89

910
type DropDownPollIntervalProps = {
1011
setInterval: (v: number) => void;
@@ -48,6 +49,7 @@ export const DropDownPollInterval: React.FunctionComponent<DropDownPollIntervalP
4849
initialOptions={initialOptions}
4950
onSelect={(_ev, selection) => onSelect(_ev, selection)}
5051
toggleWidth="150px"
52+
data-test={LegacyDashboardPageTestIDs.PollIntervalDropdownOptions}
5153
/>
5254
);
5355
};

0 commit comments

Comments
 (0)