oncall-engine/grafana-plugin/e2e-tests/pluginInitialization/configuration.test.ts

37 lines
1.5 KiB
TypeScript
Raw Permalink Normal View History

import { PLUGIN_CONFIG } from 'helpers/consts';
import { test, expect } from '../fixtures';
import { goToGrafanaPage } from '../utils/navigation';
test.describe('Plugin configuration', () => {
test('Admin user can see currently applied URL', async ({ adminRolePage: { page } }) => {
await goToGrafanaPage(page, PLUGIN_CONFIG);
await page.waitForLoadState('networkidle');
const currentlyAppliedURL = await page.getByTestId('oncall-api-url-input').inputValue();
expect(currentlyAppliedURL).toBe('http://oncall-dev-engine:8080');
});
test('Admin user can see error when invalid OnCall API URL is entered and plugin is reconnected', async ({
adminRolePage: { page },
}) => {
await goToGrafanaPage(page, PLUGIN_CONFIG);
await page.waitForLoadState('networkidle');
const correctURLAppliedByDefault = await page.getByTestId('oncall-api-url-input').inputValue();
// show client-side validation errors
const urlInput = page.getByTestId('oncall-api-url-input');
await urlInput.fill('');
await page.getByText('URL is required').waitFor();
await urlInput.fill('invalid-url-format:8080');
await page.getByText('URL is invalid').waitFor();
// apply back correct url and verify plugin connected again
await urlInput.fill(correctURLAppliedByDefault);
await page.waitForTimeout(500);
await page.getByTestId('connect-plugin').click();
await page.waitForLoadState('networkidle');
await page.getByText('Plugin is connected').waitFor();
});
});