diff --git a/e2e/notes.e2e-spec.ts b/e2e/notes.e2e-spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2419119a8fd078c4fa2d985da46bc34e7c954502
--- /dev/null
+++ b/e2e/notes.e2e-spec.ts
@@ -0,0 +1,92 @@
+import { browser, by, element } from "protractor";
+import { AppPage } from "./app.po";
+import { Navbar } from "./navbar.po";
+import { ListPage } from "./list.po";
+import { SideNav } from "./sidenav.po";
+
+describe("check calculator notes", () => {
+    let startPage: AppPage;
+    let navBar: Navbar;
+    let listPage: ListPage;
+    let sidenav: SideNav;
+
+    beforeEach(() => {
+        startPage = new AppPage();
+        navBar = new Navbar();
+        listPage = new ListPage();
+        sidenav = new SideNav();
+    });
+
+    it(" - notes should display properly when opened from a calculator", async () => {
+        await startPage.navigateTo();
+        await browser.sleep(200);
+
+        // open PAB: chute calculator
+        await listPage.clickMenuEntryForCalcType(12);
+        await browser.sleep(200);
+
+        // open notes
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickNotesButton();
+        await browser.sleep(200);
+
+        // input some text
+        const ta = element(by.css("textarea"));
+        await ta.clear();
+        await ta.sendKeys("azerty123");
+        await browser.sleep(200);
+
+        // reopen calculator
+        await navBar.openNthCalculator(0);
+        await browser.sleep(200);
+
+        // reopen notes
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickNotesButton();
+        await browser.sleep(200);
+
+        // check text
+        const md = element(by.css("markdown p"));
+        await browser.sleep(200);
+        expect(await md.getText()).toEqual("azerty123");
+    });
+
+    it(" - notes should display properly when opened from modules diagram", async () => {
+        await startPage.navigateTo();
+        await browser.sleep(200);
+
+        // open PAB: chute calculator
+        await listPage.clickMenuEntryForCalcType(12);
+        await browser.sleep(200);
+
+        // open notes
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickNotesButton();
+        await browser.sleep(200);
+
+        // input some text
+        const ta = element(by.css("textarea"));
+        await ta.clear();
+        await ta.sendKeys("azerty123");
+        await browser.sleep(200);
+
+        // open modules diagram
+        await navBar.clickMenuButton();
+        await browser.sleep(200);
+        await sidenav.clickDiagramButton();
+        await browser.sleep(200);
+
+        // open notes
+        const notesLink = element(by.css("#show-notes a"));
+        notesLink.click();
+        await browser.sleep(200);
+
+        // check text
+        const md = element(by.css("markdown p"));
+        await browser.sleep(200);
+        expect(await md.getText()).toEqual("azerty123");
+    });
+});
diff --git a/e2e/sidenav.po.ts b/e2e/sidenav.po.ts
index 5b4060f52154b4e5df514da82fc7c279c5dfa581..596db0a86027fdaebb1db9c833e8099d9bbc34d9 100644
--- a/e2e/sidenav.po.ts
+++ b/e2e/sidenav.po.ts
@@ -31,6 +31,10 @@ export class SideNav {
         return element(by.css(`button#confirm-new-session`));
     }
 
+    getNotesButton() {
+        return element(by.css("#side-nav-session-props"));
+    }
+
     async clickLoadSessionButton() {
         const ncb = this.getLoadSessionButton();
         await browser.sleep(500);
@@ -60,4 +64,10 @@ export class SideNav {
             await this.getFileLoadButton().click();
         }
     }
+
+    async clickNotesButton() {
+        const nb = this.getNotesButton();
+        await browser.sleep(200);
+        await nb.click();
+    }
 }