From 44c4957523e93aaadae353d03f20d7f5e9ebd394 Mon Sep 17 00:00:00 2001 From: maximesson Date: Thu, 20 May 2021 11:28:46 +0200 Subject: [PATCH] e2e testing using mocks Change-Id: I38fd755308e37bd67d07510e341a088b2a2636ed Issue-ID: NONRTRIC-516 Signed-off-by: maximesson --- webapp-frontend/e2e/src/app.e2e-spec.ts | 114 ++++++++++++++++++++- webapp-frontend/src/app/app.component.html | 2 +- .../ei-coordinator/ei-card/ei-card.component.html | 3 +- .../sidenav-list/sidenav-list.component.html | 10 +- .../policy/policy-card/policy-card.component.html | 2 +- 5 files changed, 120 insertions(+), 11 deletions(-) diff --git a/webapp-frontend/e2e/src/app.e2e-spec.ts b/webapp-frontend/e2e/src/app.e2e-spec.ts index fb7e14f..4e01075 100644 --- a/webapp-frontend/e2e/src/app.e2e-spec.ts +++ b/webapp-frontend/e2e/src/app.e2e-spec.ts @@ -1,3 +1,4 @@ +import { tick } from '@angular/core/testing'; /*- * ========================LICENSE_START================================= * O-RAN-SC @@ -19,16 +20,125 @@ */ import { browser, by, element, logging } from "protractor"; -describe("workspace-project App", () => { +describe("Home page", () => { beforeEach(() => { + browser.get("http://localhost:4200/"); }); it("should display title", () => { - browser.get("http://localhost:4200/"); expect(browser.getTitle()).toEqual("Non-RT RIC Control Panel"); }); + it("should reach policy types page when clicking on the policy types card", async () => { + await element(by.id('policyControlCard')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/policy"); + }); + + it("should reach enrichment information coordinator page when clicking on the enrichment information coordinator card", async () => { + await element(by.id('eicCard')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/ei-coordinator"); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + }) + ); + }); +}); + +describe("Sidebar navigation", () => { + + beforeEach(() => { + browser.get("http://localhost:4200/"); + element(by.id('Menu_Burger_Icon')).click(); + }); + + it("should reach policy types page when clicking in the side bar", async () => { + await element(by.id('policyToggle')).click(); + await element(by.id('policyLink')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/policy"); + }); + + it("should reach ric configuration page when clicking in the side bar", async () => { + await element(by.id('policyToggle')).click(); + await element(by.id('ricConfigLink')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/ric-config"); + }); + + it("should reach enrichment information coordinator page when clicking in the side bar", async () => { + await element(by.id('eicLink')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/ei-coordinator"); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + }) + ); + }); +}); + +describe("Policy types page", () => { + + beforeEach(() => { + browser.get("http://localhost:4200/policy"); + }); + + it("should reach back to home from policy types page when clicking in the side bar", async () => { + await element(by.id('Menu_Burger_Icon')).click(); + await element(by.id('homeLink')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/"); + }); + + it("should show types when clicking on expand button in policy types page", async () => { + await element(by.id('visible')).click(); + expect(element(by.id('createButton'))).toBeTruthy(); + }); + + it("should display a pop-up window when clicking on the create button for a policy instance", async () => { + await element(by.id('visible')).click(); + await element(by.id('createButton')).click(); + expect(element(by.id('closeButton'))).toBeTruthy(); + }); + + it("should open a pop-up window when clicking on the data of a policy instance", async () => { + await element(by.id('visible')).click(); + let instanceTable = element(by.id('policiesTable')); + await element(by.css('mat-cell')).click(); + expect(element(by.id('closeButton'))).toBeTruthy(); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + }) + ); + }); +}); + +describe("Enrichment information coordinator page", () => { + + beforeEach(() => { + browser.get("http://localhost:4200/ei-coordinator"); + }); + + it("should reach back to home from enrichment information coordinator page when clicking in the side bar", async () => { + await element(by.id('Menu_Burger_Icon')).click(); + await element(by.id('homeLink')).click(); + expect(browser.getCurrentUrl()).toEqual("http://localhost:4200/"); + }); + afterEach(async () => { // Assert that there are no errors emitted from the browser const logs = await browser.manage().logs().get(logging.Type.BROWSER); diff --git a/webapp-frontend/src/app/app.component.html b/webapp-frontend/src/app/app.component.html index 202afc5..6c930dd 100644 --- a/webapp-frontend/src/app/app.component.html +++ b/webapp-frontend/src/app/app.component.html @@ -43,7 +43,7 @@