fix: simplify E2E test descriptions and enhance navigation functions for DNS providers and certificates
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Multi-Feature Workflows E2E Tests (Phase 6.7)
|
||||
* Multi-Feature Workflows E2E Tests
|
||||
*
|
||||
* Tests for complex workflows that span multiple features,
|
||||
* testing real-world usage scenarios and feature interactions.
|
||||
@@ -58,6 +58,20 @@ const SELECTORS = {
|
||||
loadingSpinner: '[data-testid="loading"], .loading, .spinner',
|
||||
};
|
||||
|
||||
async function navigateToDnsProviders(page: import('@playwright/test').Page): Promise<void> {
|
||||
const providersResponse = waitForAPIResponse(page, /\/api\/v1\/dns-providers/);
|
||||
await page.goto('/dns/providers');
|
||||
await providersResponse;
|
||||
await waitForLoadingComplete(page);
|
||||
}
|
||||
|
||||
async function navigateToCertificates(page: import('@playwright/test').Page): Promise<void> {
|
||||
const certsResponse = waitForAPIResponse(page, /\/api\/v1\/certificates/);
|
||||
await page.goto('/certificates');
|
||||
await certsResponse;
|
||||
await waitForLoadingComplete(page);
|
||||
}
|
||||
|
||||
test.describe('Multi-Feature Workflows E2E', () => {
|
||||
// ===========================================================================
|
||||
// Group A: Complete Host Setup Workflow (5 tests)
|
||||
@@ -212,17 +226,19 @@ test.describe('Multi-Feature Workflows E2E', () => {
|
||||
}) => {
|
||||
await loginUser(page, adminUser);
|
||||
|
||||
const dnsProvider = generateDnsProvider();
|
||||
|
||||
await test.step('Create DNS provider', async () => {
|
||||
const dnsProvider = generateDnsProvider();
|
||||
await testData.createDNSProvider({
|
||||
name: dnsProvider.name,
|
||||
providerType: dnsProvider.provider_type,
|
||||
credentials: dnsProvider.credentials,
|
||||
});
|
||||
});
|
||||
|
||||
await page.goto('/dns-providers');
|
||||
await waitForLoadingComplete(page);
|
||||
await expect(page.getByText(dnsProvider.name)).toBeVisible();
|
||||
await test.step('Verify DNS provider appears in list', async () => {
|
||||
await navigateToDnsProviders(page);
|
||||
await waitForResourceInUI(page, dnsProvider.name);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -233,24 +249,24 @@ test.describe('Multi-Feature Workflows E2E', () => {
|
||||
}) => {
|
||||
await loginUser(page, adminUser);
|
||||
|
||||
const dnsProvider = generateDnsProvider();
|
||||
|
||||
await test.step('Create DNS provider first', async () => {
|
||||
const dnsProvider = generateDnsProvider();
|
||||
await testData.createDNSProvider({
|
||||
name: dnsProvider.name,
|
||||
providerType: dnsProvider.provider_type,
|
||||
credentials: dnsProvider.credentials,
|
||||
});
|
||||
});
|
||||
|
||||
await page.goto('/dns-providers');
|
||||
await waitForLoadingComplete(page);
|
||||
await expect(page.getByText(dnsProvider.name)).toBeVisible();
|
||||
await test.step('Confirm DNS provider is available', async () => {
|
||||
await navigateToDnsProviders(page);
|
||||
await waitForResourceInUI(page, dnsProvider.name);
|
||||
});
|
||||
|
||||
await test.step('Navigate to certificates', async () => {
|
||||
await page.goto('/certificates');
|
||||
await waitForLoadingComplete(page);
|
||||
const content = page.locator('main, .content').first();
|
||||
await expect(content).toBeVisible();
|
||||
await navigateToCertificates(page);
|
||||
await expect(page.getByRole('main')).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -269,15 +285,16 @@ test.describe('Multi-Feature Workflows E2E', () => {
|
||||
forwardPort: proxyInput.forwardPort,
|
||||
});
|
||||
|
||||
const proxiesResponse = waitForAPIResponse(page, /\/api\/v1\/proxy-hosts/);
|
||||
await page.goto('/proxy-hosts');
|
||||
await proxiesResponse;
|
||||
await waitForLoadingComplete(page);
|
||||
await waitForResourceInUI(page, proxy.domain);
|
||||
});
|
||||
|
||||
await test.step('Navigate to certificates', async () => {
|
||||
await page.goto('/certificates');
|
||||
await waitForLoadingComplete(page);
|
||||
const content = page.locator('main, .content').first();
|
||||
await expect(content).toBeVisible();
|
||||
await navigateToCertificates(page);
|
||||
await expect(page.getByRole('main')).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -288,13 +305,11 @@ test.describe('Multi-Feature Workflows E2E', () => {
|
||||
await loginUser(page, adminUser);
|
||||
|
||||
await test.step('Navigate to certificates', async () => {
|
||||
await page.goto('/certificates');
|
||||
await waitForLoadingComplete(page);
|
||||
await navigateToCertificates(page);
|
||||
});
|
||||
|
||||
await test.step('Verify certificate management page', async () => {
|
||||
const content = page.locator('main, .content').first();
|
||||
await expect(content).toBeVisible();
|
||||
await expect(page.getByRole('main')).toBeVisible();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user