import { test, expect } from '@playwright/test'; test.describe('General - Dashboard - Telephony', () => { test.beforeEach(async ({ page }) => { await page.goto('/telephony', { waitUntil: 'networkidle' }); }); test('Title', async ({ page }) => { const title = await page.title(); expect(title).toBe('Difuse - Dashboard - Telephony'); }); test('Top Cards', async ({ page }) => { const sipExtensions = await page.getByRole('heading', { name: 'SIP Extensions' }); const sipTrunks = await page.getByRole('heading', { name: 'SIP Trunks' }); const currentChannels = await page.getByRole('heading', { name: 'Current Channels' }); const completedCalls = await page.getByRole('heading', { name: 'Completed Calls' }); expect(sipExtensions && sipTrunks && currentChannels && completedCalls).toBeTruthy(); }); test('Endpoint Table', async ({ page }) => { expect(await page.getByText('Page Size')).toBeTruthy(); }); test('PBX Information', async ({ page }) => { const yearRegex = /\b\d{4}\b/; const coreReloadText = await page.textContent('td:has-text("Core Last Reload") + td'); expect(yearRegex.test(coreReloadText)).toBeTruthy(); const asteriskVersionText = await page.textContent('td:has-text("Asterisk Version") + td'); const versionRegex = /^\d+\.\d+\.\d+$/; expect(versionRegex.test(asteriskVersionText.replaceAll(/\s/g, ''))).toBeTruthy(); const coreStartupTimeText = await page.textContent('#core-startup-time'); expect(yearRegex.test(coreStartupTimeText)).toBeTruthy(); }); });