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 { 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.describe('Network & Services - Network - LAN', () => {
|
||||||
test.beforeEach(async ({ page }) => {
|
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;
|
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