From 514c855fea859105d3db640ee81c9f8576559dd4 Mon Sep 17 00:00:00 2001 From: Ajas Date: Sun, 9 Jun 2024 01:46:19 +0530 Subject: [PATCH] Network and Services : Network Overview added --- .../deep-packet-inspection.spec.js | 6 +-- tests/network/overview.spec.js | 37 +++++++++++++++++++ utils/utils.js | 34 ++++++++++++----- 3 files changed, 64 insertions(+), 13 deletions(-) create mode 100644 tests/network/overview.spec.js diff --git a/tests/dashboards/network-analyzer/deep-packet-inspection.spec.js b/tests/dashboards/network-analyzer/deep-packet-inspection.spec.js index 0b6b057..d7c0463 100644 --- a/tests/dashboards/network-analyzer/deep-packet-inspection.spec.js +++ b/tests/dashboards/network-analyzer/deep-packet-inspection.spec.js @@ -122,7 +122,7 @@ test.describe('General - Dashboard - Network Analyzer - Deep Packet Inspection', }); await page.click('#detail-tab-dpi'); - await page.waitForTimeout(15000) + await page.waitForTimeout(15000); }); test('Detail Explorer Top Cards', async ({ page }) => { @@ -216,7 +216,7 @@ test.describe('General - Dashboard - Network Analyzer - Deep Packet Inspection', await page.click('#liveview-tab-dpi'); - await page.waitForTimeout(15000) + await page.waitForTimeout(15000); }); test('Toggle icon is Pause', async ({ page }) => { @@ -245,7 +245,7 @@ test.describe('General - Dashboard - Network Analyzer - Deep Packet Inspection', await page.goto('network-analyzer/deep-packet-inspector', { waitUntil: 'networkidle' }); await page.click('#settings-tab-dpi'); - await page.waitForTimeout(15000) + await page.waitForTimeout(15000); }); test('Enable Label', async ({ page }) => { diff --git a/tests/network/overview.spec.js b/tests/network/overview.spec.js new file mode 100644 index 0000000..a4de5cb --- /dev/null +++ b/tests/network/overview.spec.js @@ -0,0 +1,37 @@ +import { test, expect } from '@playwright/test'; + +test.describe('Network & Services - Network - Overview', () => { + test.beforeEach(async ({ page }) => { + await page.goto('/network/overview', { waitUntil: 'networkidle' }); + }); + + test('Title', async ({ page }) => { + expect(await page.title()).toBe('Difuse - Network - Overview'); + }); + + test('Overview Header', async ({ page }) => { + const header = await page.locator('.card-heaer-title'); + expect(header).toBeTruthy(); + }); + + test('Notification', async ({ page }) => { + const notification = await page.locator('.notification'); + const isVisible = await notification.isVisible(); + expect(isVisible).toBe(true); + }); + + test('WAN Label', async ({ page }) => { + const wan = await page.$('span:has-text("WAN")'); + expect(wan).toBeTruthy(); + }); + + test('Lan Label', async ({ page }) => { + const wan = await page.$('span:has-text("LAN - SFP / Ethernet")'); + expect(wan).toBeTruthy(); + }); + + test('LAN - WiFi Label', async ({ page }) => { + const wan = await page.$('span:has-text("LAN - WiFi")'); + expect(wan).toBeTruthy(); + }); +}); diff --git a/utils/utils.js b/utils/utils.js index 54b40f8..08146d9 100644 --- a/utils/utils.js +++ b/utils/utils.js @@ -1,7 +1,7 @@ -import IPCIDR from 'ip-cidr'; -import IPAddress from 'ip-address'; +import IPCIDR from "ip-cidr"; +import IPAddress from "ip-address"; -export function isValidMacAddress (mac) { +export function isValidMacAddress(mac) { try { const regex = /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/; return regex.test(mac); @@ -10,7 +10,7 @@ export function isValidMacAddress (mac) { } } -export function isValidCidr (cidr, type = 0) { +export function isValidCidr(cidr, type = 0) { let [isV4, isV6] = [false, false]; let tempCidr = null; @@ -46,20 +46,25 @@ export function isValidCidr (cidr, type = 0) { export async function clickSelect2Dropdown(page, selectSelector) { const select2ContainerSelector = `${selectSelector} + .select2-container`; - const select2ContainerExists = await page.$(select2ContainerSelector) !== null; + const select2ContainerExists = + (await page.$(select2ContainerSelector)) !== null; if (!select2ContainerExists) { - throw new Error('Select2 container not found'); + throw new Error("Select2 container not found"); } const select2Selection = `${select2ContainerSelector} .select2-selection`; await page.click(select2Selection); - await page.waitForSelector('.select2-dropdown .select2-results__option'); + await page.waitForSelector(".select2-dropdown .select2-results__option"); } export async function hasToastText(page, text) { try { - return (await (await page.waitForSelector('.swal2-popup', {state: 'visible'})).textContent()).includes(text); + return ( + await ( + await page.waitForSelector(".swal2-popup", { state: "visible" }) + ).textContent() + ).includes(text); } catch (error) { console.log(error); return false; @@ -67,5 +72,14 @@ export async function hasToastText(page, text) { } export async function sleep(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); -} \ No newline at end of file + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +export function isValidDate(date) { + try { + const dateRegex = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/; + return dateRegex.test(date); + } catch (error) { + return false; + } +}