Compare commits

...

9 Commits

Author SHA1 Message Date
Yulia Shanyrova b69598aba3 fix redirect to data source new page 2026-01-14 16:21:40 +01:00
Yulia Shanyrova 2474015dd1 Merge branch 'main' into add-new-datasource-change-page 2026-01-14 13:55:19 +01:00
Yulia Shanyrova b1ddfe923f Merge branch 'main' into add-new-datasource-change-page 2026-01-14 08:45:24 +01:00
Yulia Shanyrova a8d9315b01 remove e2e tests for oldarch 2026-01-14 08:45:02 +01:00
Yulia Shanyrova 855d25443b delete console.log 2026-01-14 08:17:51 +01:00
Yulia Shanyrova a1fe8f503a skip e2e tests for now 2026-01-14 08:07:50 +01:00
Yulia Shanyrova fed9cd362a Merge branch 'main' into add-new-datasource-change-page 2026-01-13 16:11:25 +01:00
Yulia Shanyrova 361ad30807 fix tests 2025-12-15 12:06:02 +01:00
Yulia Shanyrova be0ff0253a change route from datasource new to add-new-connection 2025-12-08 16:33:20 +01:00
8 changed files with 38 additions and 11 deletions
+6 -6
View File
@@ -200,15 +200,15 @@ jobs:
fail-fast: false
matrix:
include:
- suite: various-suite (old arch)
path: e2e/old-arch/various-suite
flags: --flags="--env dashboardScene=false"
# - suite: various-suite (old arch)
# path: e2e/old-arch/various-suite
# flags: --flags="--env dashboardScene=false"
- suite: dashboards-suite (old arch)
path: e2e/old-arch/dashboards-suite
flags: --flags="--env dashboardScene=false"
- suite: smoke-tests-suite (old arch)
path: e2e/old-arch/smoke-tests-suite
flags: --flags="--env dashboardScene=false"
# - suite: smoke-tests-suite (old arch)
# path: e2e/old-arch/smoke-tests-suite
# flags: --flags="--env dashboardScene=false"
- suite: panels-suite (old arch)
path: e2e/old-arch/panels-suite
flags: --flags="--env dashboardScene=false"
Binary file not shown.
@@ -14,6 +14,8 @@ export function createPromDS(dataSourceID: string, name: string): void {
.should('be.visible') // prevents flakiness
.click();
e2e.pages.ConnectionsDataSource.button().should('exist').click();
// add url for DS to save without error
e2e.components.DataSource.Prometheus.configPage.connectionSettings().type('http://prom-url:9090');
@@ -22,6 +22,8 @@ function navigateToEditor(editorType: editorType, name: string): void {
.should('be.visible') // prevents flakiness
.click();
e2e.pages.ConnectionsDataSource.button().should('exist').click();
// choose default editor
e2e.components.DataSource.Prometheus.configPage.defaultEditor().scrollIntoView().should('exist').click();
selectOption(editorType);
@@ -99,13 +99,21 @@ export const versionedPages = {
},
AddDataSource: {
url: {
[MIN_GRAFANA_VERSION]: '/datasources/new',
[MIN_GRAFANA_VERSION]: '/connections/add-new-connection?cat=data-source',
},
dataSourcePluginsV2: {
'9.3.1': (pluginName: string) => `Add new data source ${pluginName}`,
[MIN_GRAFANA_VERSION]: (pluginName: string) => `Data source plugin item ${pluginName}`,
},
},
ConnectionsDataSource: {
url: {
[MIN_GRAFANA_VERSION]: (dataSourceUid: string) => `/connections/datasources/${dataSourceUid}`,
},
button: {
'12.4.0': 'data-testid Add new data source button',
},
},
ConfirmModal: {
delete: {
'10.0.0': 'data-testid Confirm Modal Danger Button',
@@ -13,7 +13,6 @@ import { DataSourceDetailsPage } from './pages/DataSourceDetailsPage';
import { DataSourcesListPage } from './pages/DataSourcesListPage';
import { EditDataSourcePage } from './pages/EditDataSourcePage';
import { InsightsFeatureHighlightPage } from './pages/InsightsFeatureHighlightPage';
import { NewDataSourcePage } from './pages/NewDataSourcePage';
import { PermissionsFeatureHighlightPage } from './pages/PermissionsFeatureHighlightPage';
function RedirectToAddNewConnection() {
@@ -40,7 +39,11 @@ export default function Connections() {
<Route caseSensitive path={'/'} element={<ConnectionsHomePage />} />
{/* The route paths need to be relative to the parent path (ROUTES.Base), so we need to remove that part */}
<Route caseSensitive path={ROUTES.DataSources.replace(ROUTES.Base, '')} element={<DataSourcesListPage />} />
<Route caseSensitive path={ROUTES.DataSourcesNew.replace(ROUTES.Base, '')} element={<NewDataSourcePage />} />
<Route
caseSensitive
path={ROUTES.DataSourcesNew.replace(ROUTES.Base, '')}
element={<Navigate replace to={{ pathname: ROUTES.AddNewConnection, search: '?cat=data-source' }} />}
/>
<Route
caseSensitive
path={ROUTES.DataSourcesDetails.replace(ROUTES.Base, '')}
@@ -1,7 +1,8 @@
import { css } from '@emotion/css';
import * as React from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { GrafanaTheme2, PluginType } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { t } from '@grafana/i18n';
import { featureEnabled } from '@grafana/runtime';
import { Badge, Card, Grid, Stack, useStyles2 } from '@grafana/ui';
@@ -94,7 +95,16 @@ export const CardGrid = ({ items, onClickItem }: CardGridProps) => {
}
}}
>
<Card.Heading className={styles.heading}>{item.name}</Card.Heading>
<Card.Heading
className={styles.heading}
aria-label={
item.type === PluginType.datasource
? e2eSelectors.pages.AddDataSource.dataSourcePluginsV2(item.name)
: item.name
}
>
{item.name}
</Card.Heading>
<Card.Figure align="center" className={styles.figure}>
<img className={styles.logo} src={item.logo} alt="" />
@@ -2,6 +2,7 @@ import { useCallback } from 'react';
import * as React from 'react';
import { DataSourcePluginMeta } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { Trans, t } from '@grafana/i18n';
import { config } from '@grafana/runtime';
import { Button } from '@grafana/ui';
@@ -46,6 +47,7 @@ export function GetStartedWithDataSource({ plugin }: Props): React.ReactElement
)
: undefined
}
data-testid={e2eSelectors.pages.ConnectionsDataSource.button}
>
<Trans i18nKey="plugins.get-started-with-data-source.add-new-data-source">Add new data source</Trans>
</Button>