From cbcc15791d0ec546ddf654315cae54d76f65828d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr>
Date: Wed, 10 May 2023 15:31:05 +0200
Subject: [PATCH] refactor(e2e): migrate commit 19dc09ea (#609)

refs #618
---
 e2e/macrorugo-remous.e2e-spec.ts | 60 ++++++++++++++++++++++++++++++++
 e2e/util.po.ts                   |  7 ++++
 2 files changed, 67 insertions(+)
 create mode 100644 e2e/macrorugo-remous.e2e-spec.ts

diff --git a/e2e/macrorugo-remous.e2e-spec.ts b/e2e/macrorugo-remous.e2e-spec.ts
new file mode 100644
index 00000000..f9dea9fd
--- /dev/null
+++ b/e2e/macrorugo-remous.e2e-spec.ts
@@ -0,0 +1,60 @@
+import { ListPage } from "./list.po";
+import { PreferencesPage } from "./preferences.po";
+import { Navbar } from "./navbar.po";
+import { browser, $, $$, expect } from '@wdio/globals'
+import { isElementDisplayed } from "./util.po";
+
+//TODO à réactiver après fusion de #618 dans devel
+xdescribe("MacroRugoRemous - ", () => {
+    let prefPage: PreferencesPage;
+    let listPage: ListPage;
+    let navBar: Navbar;
+
+    beforeAll(() => {
+        prefPage = new PreferencesPage();
+        listPage = new ListPage();
+        navBar = new Navbar();
+    });
+
+    beforeEach(async () => {
+        // disable evil option "empty fields on module creation"
+        await prefPage.navigateTo();
+        await browser.pause(200);
+        await prefPage.disableEvilEmptyFields();
+        await browser.pause(200);
+    });
+
+    it("check select empty message is present when no PAM is in the session", async () => {
+        // start page
+        await navBar.clickNewCalculatorButton();
+        await browser.pause(200);
+
+        // MacroRugoRemous calculator
+        await listPage.clickMenuEntryForCalcType(37);
+        browser.pause(200);
+
+        // const emptyMsg = element(by.css("div .message-when-empty"));
+        const emptyMsg = await $("div .message-when-empty");
+        expect(await isElementDisplayed(emptyMsg)).toBe(true);
+    });
+
+    it("check select empty message is not present when a PAM exists in the session", async () => {
+        // start page
+        await navBar.clickNewCalculatorButton();
+        await browser.pause(200);
+
+        // PAM calculator
+        await listPage.clickMenuEntryForCalcType(11);
+        browser.pause(200);
+
+        await navBar.clickNewCalculatorButton();
+        await browser.pause(200);
+
+        // MacroRugoRemous calculator
+        await listPage.clickMenuEntryForCalcType(37);
+        browser.pause(200);
+
+        const emptyMsg = $("div .message-when-empty");
+        expect(await isElementDisplayed(emptyMsg)).toBe(false);
+    });
+});
diff --git a/e2e/util.po.ts b/e2e/util.po.ts
index 4acf0e30..04f8564f 100644
--- a/e2e/util.po.ts
+++ b/e2e/util.po.ts
@@ -84,3 +84,10 @@ export async function loadSession(navbar: Navbar, sideNav: SideNav, path: string
 
     await sideNav.loadSessionFile(path);
 }
+
+/**
+ * @returns true if an element exists and is displayed
+ */
+export async function isElementDisplayed(element) {
+    return await element.isExisting() && await element.isDisplayed();
+}
-- 
GitLab