61 lines
2 KiB
JavaScript
61 lines
2 KiB
JavaScript
import { test, expect } from '@playwright/test';
|
|
import { isValidMacAddress, isValidPrivateIPV4 } from '../../utils/utils.js';
|
|
|
|
test.describe('Network & Services - Network - WAN', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto('/network/wan', { waitUntil: 'networkidle' });
|
|
});
|
|
|
|
test('Title', async ({ page }) => {
|
|
expect(await page.title()).toBe('Difuse - Network - WAN');
|
|
});
|
|
|
|
test('Card Header Title', async ({ page }) => {
|
|
const title = await page.locator('.card-header-title');
|
|
expect(await title).toBeTruthy();
|
|
});
|
|
|
|
test('IPv4 Info Tables', async ({ page }) => {
|
|
const rows = await page.$$('table > tbody > tr');
|
|
|
|
for (let i = 0; i < rows.length && i < 6; i++) {
|
|
const row = rows[i];
|
|
const cells = await row.$$('td');
|
|
if (cells.length === 2) {
|
|
const label = await cells[0].textContent();
|
|
const value = await cells[1].textContent();
|
|
console.log(label + ' : ' + value);
|
|
|
|
if (label === 'Protocol') {
|
|
expect(value).toBe('DHCPv4');
|
|
} else if (label === 'Uptime') {
|
|
expect(typeof parseInt(value)).toBe('number');
|
|
} else if (label === 'MAC') {
|
|
expect(isValidMacAddress(value)).toBeTruthy();
|
|
} else if (label === 'RX' || label === 'TX') {
|
|
expect(typeof parseInt(value)).toBe('number');
|
|
} else if (label === 'IPv4') {
|
|
expect(isValidPrivateIPV4(value)).toBe(true);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
test('Restart WAN Interface', async ({ page }) => {
|
|
const restartButton = await page.locator('#restartWAN');
|
|
const visible = await restartButton.isVisible();
|
|
expect(visible).toBeTruthy();
|
|
});
|
|
|
|
test('Stop WAN Interface', async ({ page }) => {
|
|
const stopWAN = await page.locator('#stopWAN');
|
|
const visible = await stopWAN.isVisible();
|
|
expect(visible).toBeTruthy();
|
|
});
|
|
|
|
test('Disable WAN Interface', async ({ page }) => {
|
|
const disableWAN = await page.locator('#disableWAN');
|
|
const visible = await disableWAN.isVisible();
|
|
expect(visible).toBeTruthy();
|
|
});
|
|
});
|