Skip to content
Snippets Groups Projects
navigate-through-calculators.e2e-spec.ts 1.49 KiB
Newer Older
import { ListPage } from "./list.po";
import { Navbar } from "./navbar.po";
import { CalculatorPage } from "./calculator.po";
import { browser, $, $$, expect } from '@wdio/globals'
/**
 * Use navbar buttons to navigate from one open calculator to another
 */
describe("ngHyd − create calculators and navigate among them", () => {
mathias.chouet's avatar
mathias.chouet committed
    let listPage: ListPage;
    let calculatorPage: CalculatorPage;
    let navbar: Navbar;
mathias.chouet's avatar
mathias.chouet committed
    beforeEach(() => {
        listPage = new ListPage();
        calculatorPage = new CalculatorPage();
        navbar = new Navbar();
    });
mathias.chouet's avatar
mathias.chouet committed
    it("when many calculators are open, navigating among them should not fail (all active labels should be visible)", async () => {
        await listPage.navigateTo();
        // open 8 calculators
        for (let i = 0; i < 6; i++) {
            if (i > 0) {
                await navbar.clickNewCalculatorButton();
                await browser.pause(200);
mathias.chouet's avatar
mathias.chouet committed
            }
            await listPage.clickRandomCalculatorMenuEntry();
            await browser.pause(200);
mathias.chouet's avatar
mathias.chouet committed
        }
        // navigate among them
        for (let i = 0; i < 10; i++) {
            await navbar.clickRandomCalculatorTab(i);
            await browser.pause(200);
mathias.chouet's avatar
mathias.chouet committed
            // test all form labels
            const labels = await calculatorPage.getInputLabels();
            for (const l of labels) {
mathias.chouet's avatar
mathias.chouet committed
                const label = await l.getText();
                expect(label.length).toBeGreaterThan(0);
mathias.chouet's avatar
mathias.chouet committed
        }
        // expect no error ?
    });