Networ - LAN : IPv4 and Network Mask validation done

This commit is contained in:
Ajas 2024-06-11 02:16:05 +05:30
parent 578f3b9ca1
commit ff99dcee54
2 changed files with 59 additions and 1 deletions

View file

@ -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);
}
});
});

View file

@ -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;
}
}