Networ - LAN : IPv4 and Network Mask validation done
This commit is contained in:
parent
578f3b9ca1
commit
ff99dcee54
2 changed files with 59 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
|||
import { test, expect } from '@playwright/test';
|
||||
import { isValidMacAddress, isValidPrivateIPV4 } from '../../utils/utils.js';
|
||||
import { getDefaultNetmask, isValidMacAddress, isValidPrivateIPV4 } from '../../utils/utils.js';
|
||||
|
||||
test.describe('Network & Services - Network - LAN', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
|
@ -71,4 +71,48 @@ test.describe('Network & Services - Network - LAN', () => {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
test('Validate Ip Address', async ({ page }) => {
|
||||
await page.waitForSelector('#ipAddress');
|
||||
const ipAddress = await page.locator('#ipAddress');
|
||||
const ipValue = await ipAddress.inputValue();
|
||||
|
||||
const validateIP = await isValidPrivateIPV4(ipValue);
|
||||
expect(validateIP).toBe(true);
|
||||
});
|
||||
|
||||
test('Validate Network Mask Address', async ({ page }) => {
|
||||
await page.waitForSelector('#ipAddress');
|
||||
const ipAddress = await page.locator('#ipAddress');
|
||||
const ipValue = await ipAddress.inputValue();
|
||||
|
||||
const networkMask = await page.locator('.lan-netmask-select');
|
||||
const networkValue = await networkMask.inputValue();
|
||||
const defaultValue = getDefaultNetmask(ipValue);
|
||||
expect(defaultValue).toBe(networkValue);
|
||||
});
|
||||
|
||||
test('Enable DHCP Toggle', async ({ page }) => {
|
||||
const dhcpCb = await page.$('.dhcp-cb');
|
||||
const isChecked = await dhcpCb.isChecked();
|
||||
|
||||
if (isChecked) {
|
||||
expect(await page.isVisible('label:has-text("DHCP Start")')).toBeTruthy();
|
||||
} else {
|
||||
await page.evaluate((checkbox) => checkbox.click(), dhcpCb);
|
||||
expect(await page.isVisible('label:has-text("DHCP Start")')).toBeTruthy();
|
||||
}
|
||||
});
|
||||
|
||||
test('Disable DHCP Toggle', async ({ page }) => {
|
||||
const dhcpCb = await page.$('.dhcp-cb');
|
||||
const isChecked = await dhcpCb.isChecked();
|
||||
|
||||
if (isChecked) {
|
||||
await page.evaluate((checkbox) => checkbox.click(), dhcpCb);
|
||||
expect(await page.isVisible('label:has-text("DHCP Start")')).toBe(false);
|
||||
} else {
|
||||
expect(await page.isVisible('label:has-text("DHCP Start")')).toBe(false);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -122,3 +122,17 @@ export function isValidPrivateIPV4(ip) {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
export function getDefaultNetmask(ip) {
|
||||
const firstOctet = parseInt(ip.split(".")[0], 10);
|
||||
|
||||
if (firstOctet >= 1 && firstOctet <= 126) {
|
||||
return "255.0.0.0";
|
||||
} else if (firstOctet >= 128 && firstOctet <= 191) {
|
||||
return "255.255.0.0";
|
||||
} else if (firstOctet >= 192 && firstOctet <= 223) {
|
||||
return "255.255.255.0";
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue