diff --git a/e2e/calculator.po.ts b/e2e/calculator.po.ts index bf82481cbe80b61d60a73cce4869fbd023f35216..032e72d7cfcfb8e38aff95328391add6046af644 100644 --- a/e2e/calculator.po.ts +++ b/e2e/calculator.po.ts @@ -142,11 +142,15 @@ export class CalculatorPage { } getCalculateButton() { - return $("button#trigger-calculate"); + return this.getButton("trigger-calculate"); } getGeneratePabButton() { - return $("button#generate-pab"); + return this.getButton("generate-pab"); + } + + getButton(id: string) { + return $(`button#${id}`); } getCheckedCalcModeButtons() { diff --git a/e2e/macrorugo-remous.e2e-spec.ts b/e2e/macrorugo-remous.e2e-spec.ts index 85e994510017e177e0def357179f6947e79bcdf7..5c76a88de4d40f054fe7cdde272a4844e34560ea 100644 --- a/e2e/macrorugo-remous.e2e-spec.ts +++ b/e2e/macrorugo-remous.e2e-spec.ts @@ -2,7 +2,7 @@ import { ListPage } from "./list.po"; import { PreferencesPage } from "./preferences.po"; import { Navbar } from "./navbar.po"; import { browser, $, $$, expect } from '@wdio/globals' -import { isElementDisplayed, openCalculator } from "./util.po"; +import { isElementDisplayed, openCalculator, scrollPageToTop } from "./util.po"; import { CalculatorPage } from "./calculator.po"; import { newSession } from "./util.po"; import { SideNav } from "./sidenav.po"; @@ -82,4 +82,30 @@ xdescribe("MacroRugoRemous - ", () => { const errorMsg = await $("div .select-error-message"); expect(await isElementDisplayed(errorMsg)).toBe(true); }); + it("Generate from PAM", async () => { + + // Open PAM with default values + await openCalculator(11, navBar, listPage); + + // calculate PAM + const calcButtonCl = await calcPage.getCalculateButton(); + await calcButtonCl.click(); + await browser.pause(200); + + // make sure "Generate backwater curve" button is visible (it might be hidden behind navbar) + await scrollPageToTop(); + // generate Macrorugo backwater curve + const genButton = await calcPage.getButton("generate-backwater-curve"); + await genButton.click(); + await browser.pause(1000); + + // calculate PAB + const calcButtonMRCR = await calcPage.getCalculateButton(); + await calcButtonMRCR.click(); + await browser.pause(500); + + // check that result is not empty + const hasResults = await calcPage.hasResults(); + expect(hasResults).toBe(true); + }); });