mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			72 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
| import { test, expect } from '@grafana/plugin-e2e';
 | |
| 
 | |
| const DASHBOARD_ID = 'XMjIZPmik';
 | |
| const DASHBOARD_NAME = 'Panel Tests - Graph Time Regions';
 | |
| const UPLOT_MAIN_DIV_SELECTOR = 'uplot-main-div';
 | |
| const ANNOTATION_MARKER_SELECTOR = 'data-testid annotation-marker';
 | |
| 
 | |
| test.describe(
 | |
|   'Auto-migrate graph panel',
 | |
|   {
 | |
|     tag: ['@various'],
 | |
|   },
 | |
|   () => {
 | |
|     test('Graph panel is auto-migrated', async ({ gotoDashboardPage, page }) => {
 | |
|       await gotoDashboardPage({ uid: DASHBOARD_ID });
 | |
|       await expect(page.getByText(DASHBOARD_NAME)).toBeVisible();
 | |
|       await expect(page.getByTestId(UPLOT_MAIN_DIV_SELECTOR).first()).toBeHidden();
 | |
| 
 | |
|       await gotoDashboardPage({ uid: DASHBOARD_ID });
 | |
| 
 | |
|       await expect(page.getByTestId(UPLOT_MAIN_DIV_SELECTOR).first()).toBeVisible();
 | |
|     });
 | |
| 
 | |
|     test('Annotation markers exist for time regions', async ({ gotoDashboardPage, selectors, page }) => {
 | |
|       const dashboardPage = await gotoDashboardPage({ uid: DASHBOARD_ID });
 | |
|       await expect(page.getByText(DASHBOARD_NAME)).toBeVisible();
 | |
|       await expect(page.getByTestId(UPLOT_MAIN_DIV_SELECTOR).first()).toBeHidden();
 | |
| 
 | |
|       await gotoDashboardPage({ uid: DASHBOARD_ID });
 | |
| 
 | |
|       // Check Business Hours panel
 | |
|       const businessHoursPanel = dashboardPage.getByGrafanaSelector(
 | |
|         selectors.components.Panels.Panel.title('Business Hours')
 | |
|       );
 | |
|       await expect(businessHoursPanel).toBeVisible();
 | |
|       const businessHoursMarker = businessHoursPanel.getByTestId(ANNOTATION_MARKER_SELECTOR).first();
 | |
|       await expect(businessHoursMarker).toBeVisible();
 | |
| 
 | |
|       // Check Sunday's 20-23 panel
 | |
|       const sundayPanel = dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.title("Sunday's 20-23"));
 | |
|       await expect(sundayPanel).toBeVisible();
 | |
|       const sundayMarker = sundayPanel.getByTestId(ANNOTATION_MARKER_SELECTOR).first();
 | |
|       await expect(sundayMarker).toBeVisible();
 | |
| 
 | |
|       // Check Each day of week panel
 | |
|       const eachDayPanel = dashboardPage.getByGrafanaSelector(
 | |
|         selectors.components.Panels.Panel.title('Each day of week')
 | |
|       );
 | |
|       await expect(eachDayPanel).toBeVisible();
 | |
|       const eachDayMarker = eachDayPanel.getByTestId(ANNOTATION_MARKER_SELECTOR).first();
 | |
|       await expect(eachDayMarker).toBeVisible();
 | |
| 
 | |
|       // Scroll to bottom
 | |
|       await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
 | |
| 
 | |
|       // Check 05:00 panel
 | |
|       const timePanel = dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.title('05:00'));
 | |
|       await expect(timePanel).toBeVisible();
 | |
|       const timeMarker = timePanel.getByTestId(ANNOTATION_MARKER_SELECTOR).first();
 | |
|       await expect(timeMarker).toBeVisible();
 | |
| 
 | |
|       // Check From 22:00 to 00:30 panel
 | |
|       const midnightPanel = dashboardPage.getByGrafanaSelector(
 | |
|         selectors.components.Panels.Panel.title('From 22:00 to 00:30 (crossing midnight)')
 | |
|       );
 | |
|       await expect(midnightPanel).toBeVisible();
 | |
|       const midnightMarker = midnightPanel.getByTestId(ANNOTATION_MARKER_SELECTOR).first();
 | |
|       await expect(midnightMarker).toBeVisible();
 | |
|     });
 | |
|   }
 | |
| );
 |