Network - LAN : Ipv6 , Bridge slaves test Completed

This commit is contained in:
Ajas 2024-06-14 01:28:42 +05:30
parent 6c0a6e1620
commit 13de59c665

View file

@ -103,7 +103,7 @@ test.describe('Network & Services - Network - LAN', () => {
const networkMask = await page.locator('.lan-netmask-select'); const networkMask = await page.locator('.lan-netmask-select');
const networkValue = await networkMask.inputValue(); const networkValue = await networkMask.inputValue();
const defaultValue = getDefaultNetmask(ipValue); const defaultValue = await getDefaultNetmask(ipValue);
expect(defaultValue).toBe(networkValue); expect(defaultValue).toBe(networkValue);
}); });
@ -191,4 +191,96 @@ test.describe('Network & Services - Network - LAN', () => {
expect(leaseTimeValue).toBeGreaterThanOrEqual(1); expect(leaseTimeValue).toBeGreaterThanOrEqual(1);
expect(leaseTimeValue).toBeLessThanOrEqual(12); expect(leaseTimeValue).toBeLessThanOrEqual(12);
}); });
test.describe('IPV6 Tab', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/lan', { waitUntil: 'networkidle' });
const ipv6Tab = await page.$("a:has-text('IPv6')");
await ipv6Tab.click();
});
test('ULA Prefix Validation', async ({ page }) => {
await page.waitForSelector('#ulaPrefix');
const ulaPrefix = await page.locator('#ulaPrefix');
const value = await ulaPrefix.inputValue();
if (value) {
const isValidIPv6 = isValidCidr(value);
expect(isValidIPv6).toBe(true);
}
});
test('Bad ULA Prefix Validation', async ({ page }) => {
await page.waitForSelector('#ulaPrefix');
const ulaPrefix = await page.locator('#ulaPrefix');
await ulaPrefix.fill('1.1.1.1.1.1.1.1.1.1.1');
const saveButton = await page.getByRole('button', { name: 'Save' });
await saveButton.click();
expect(await hasToastText(page, 'Invalid ULA Prefix')).toBeTruthy();
});
test('RA & DHCPv6', async ({ page }) => {
const selectElement = await page.locator('label:has-text("RA & DHCPv6") + .field-body select.rad-select');
const optionDatas = await selectElement.evaluate(select => {
const options = Array.from(select.querySelectorAll('option'));
return options.map(option => {
return {
label: option.textContent.trim(),
value: option.value.trim()
};
});
});
for (const optionData of optionDatas) {
if (optionData.label === 'SLAAC') {
expect(optionData.value).toBe('slaac');
} else if (optionData.label === 'SLAAC & DHCPv6') {
expect(optionData.value).toBe('slaac-dhcp');
} else if (optionData.label === 'IPv6 Relay') {
expect(optionData.value).toBe('relay');
} else if (optionData.label === 'IPv6 Hybrid') {
expect(optionData.value).toBe('hybrid');
} else if (optionData.label === 'Automatic') {
expect(optionData.value).toBe('default');
}
}
});
test('RA Default', async ({ page }) => {
const selectElement = await page.locator('label:has-text("RA Default") + .control.icons-left select.raDefaultSelect');
const optionDatas = await selectElement.evaluate(select => {
const options = Array.from(select.querySelectorAll('option'));
return options.map(option => {
return {
label: option.textContent.trim(),
value: option.value.trim()
};
});
});
for (const optionData of optionDatas) {
if (optionData.label === 'Automatic') {
expect(optionData.value).toBe('0');
} else if (optionData.label === 'On Available Prefix') {
expect(optionData.value).toBe('1');
} else if (optionData.label === 'Forced') {
expect(optionData.value).toBe('2');
}
}
});
});
test.describe('Bridge Slaves Tab', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/network/lan', { waitUntil: 'networkidle' });
const bridgeSlaveTab = await page.$("a:has-text('Bridge Slaves')");
await bridgeSlaveTab.click();
});
test('SFP 2', async ({ page }) => {
const sfp = page.locator('.mdi-ethernet-cable');
expect(await sfp.isVisible()).toBeTruthy();
});
});
}); });