Forked from HYCAR-Hydro / airGR
Source project has a limited visibility.
load-save-session.e2e-spec.ts 2.97 KiB
import { AppPage } from "./app.po";
import { ListPage } from "./list.po";
import { CalculatorPage } from "./calculator.po";
import { Navbar } from "./navbar.po";
import { SideNav } from "./sidenav.po";
import { browser } from "protractor";
/**
 * Save and load (serialise and unserialise) calculators to/from JSON files
describe("ngHyd − save and load sessions", () => {
  let startPage: AppPage;
  let listPage: ListPage;
  let calcPage: CalculatorPage;
  let navbar: Navbar;
  let sidenav: SideNav;
  beforeEach(() => {
    startPage = new AppPage();
    listPage = new ListPage();
    calcPage = new CalculatorPage();
    navbar = new Navbar();
    sidenav = new SideNav();
  });
  it("when loading session-6-calc.test.json file from home page, 6 calculators should be loaded", async () => {
    await startPage.navigateTo();
    await navbar.clickMenuButton();
    await browser.sleep(200);
    await sidenav.clickLoadSessionButton();
    await browser.sleep(200);
    await sidenav.loadSessionFile("./session/session-6-calc.test.json");
    await browser.sleep(200);
    expect(await navbar.getAllCalculatorTabs().count()).toBe(6);
  });
  it("when loading session-optional-params.test.json file from home page, the calculator should be loaded", async () => {
    await startPage.navigateTo();
    await navbar.clickMenuButton();
    await browser.sleep(200);
    await sidenav.clickLoadSessionButton();
    await browser.sleep(200);
    await sidenav.loadSessionFile("./session/session-optional-params.test.json");
    await browser.sleep(200);
    expect(await navbar.getAllCalculatorTabs().count()).toBe(1);
  });
  it("when saving a calculator, the current parameter values should be found in the file", async () => {
    await startPage.navigateTo();
    await listPage.clickMenuEntryForCalcType(2); // Section paramétrée
    await browser.sleep(500);
    await calcPage.changeSelectValue(calcPage.getSelectById("select_section"), 2); // mode "circulaire"
    await calcPage.getInputById("Ks").clear(); // coefficient de Strickler
    await browser.sleep(1000);
    await calcPage.getInputById("Ks").sendKeys("42");
    await browser.sleep(1000);
    await calcPage.clickSaveCalcButton();