diff --git a/angular.json b/angular.json index 7af026e53aae99397903e282c14a0c8b32ea96ae..1b463deca38d935c10c23184080e848f7e21a6fd 100644 --- a/angular.json +++ b/angular.json @@ -49,7 +49,8 @@ ], "scripts": [ "node_modules/marked/marked.min.js", - "node_modules/katex/dist/katex.min.js" + "node_modules/katex/dist/katex.min.js", + "node_modules/katex/dist/contrib/auto-render.min.js" ], "allowedCommonJsDependencies": [ "chartjs-plugin-zoom", 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(); + } } diff --git a/src/index.html b/src/index.html index 5a2324c1d7d449aa55ec7ce3dada7485ed3784c2..a1fbb0362dce2328d9bdf2db9ba4f1c31398e3c6 100644 --- a/src/index.html +++ b/src/index.html @@ -14,8 +14,8 @@ <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#ffffff"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="manifest" href="manifest.webmanifest"> - <meta name="theme-color" content="#1976d2"> + <link rel="manifest" href="manifest.webmanifest"> + <meta name="theme-color" content="#1976d2"> </head> <body> @@ -163,4 +163,4 @@ <noscript>Please enable JavaScript to continue using this application.</noscript> </body> -</html> \ No newline at end of file +</html>