diff --git a/features/openClose.feature b/features/openClose.feature index bfbd0b5e..ea812f88 100644 --- a/features/openClose.feature +++ b/features/openClose.feature @@ -8,8 +8,20 @@ Feature: Open Then the element "#new-user-tip" is on the page Then the element "#add-workspace-button" is on the page - Scenario: Opening TiddlyGit + Scenario: Opening Add Workspace Page Given the app is launched Then the element "#add-workspace-button" is on the page Then click on this element - Then "Add Workspace" window show up \ No newline at end of file + Then "Add Workspace" window show up + + Scenario: Opening Preferences Page + Given the app is launched + Then the element "#open-preferences-button" is on the page + Then click on this element + Then "Preferences" window show up + + Scenario: Opening Notifications Page + Given the app is launched + Then the element "#open-notification-settings-button" is on the page + Then click on this element + Then "Notifications" window show up \ No newline at end of file diff --git a/features/stepDefinitions/electron.ts b/features/stepDefinitions/electron.ts index cd725beb..4d4cca16 100644 --- a/features/stepDefinitions/electron.ts +++ b/features/stepDefinitions/electron.ts @@ -6,24 +6,32 @@ import { TiddlyGitWorld } from '../supports/world'; setWorldConstructor(TiddlyGitWorld); -Given('the app is launched', { timeout: 120 * 1000 }, async function (this: TiddlyGitWorld) { +Given('the app is launched', async function (this: TiddlyGitWorld) { await this.start(); const windowCount = await this.app?.client?.getWindowCount(); expect(windowCount).equal(1); }); -Then('the element {string} is on the page', { timeout: 120 * 1000 }, async function (this: TiddlyGitWorld, elementSelector: string) { +Then('the element {string} is on the page', async function (this: TiddlyGitWorld, elementSelector: string) { const result = await this.getElement(elementSelector); expect(result).to.not.be.undefined; this.updateContext({ previousElement: result }); }); -Then('click on this element', { timeout: 120 * 1000 }, async function (this: TiddlyGitWorld) { +Then('click on this element', async function (this: TiddlyGitWorld) { expect(this.context?.previousElement).to.not.be.undefined; if (this.context?.previousElement !== undefined) { await this.context.previousElement.click(); } }); -Then('{string} window show up', { timeout: 120 * 1000 }, async function (this: TiddlyGitWorld, windowName: string) { +Then('click on {string} element', async function (this: TiddlyGitWorld, elementSelector: string) { + const result = await this.getElement(elementSelector); + expect(result).to.not.be.undefined; + if (result !== undefined) { + this.updateContext({ previousElement: result }); + await result.click(); + } +}); +Then('{string} window show up', async function (this: TiddlyGitWorld, windowName: string) { // await delay(1000); const windowCount = await this.app?.client?.getWindowCount(); expect(windowCount).equal(2); diff --git a/src/pages/Main/index.tsx b/src/pages/Main/index.tsx index 793c8e03..a8f7ef7e 100644 --- a/src/pages/Main/index.tsx +++ b/src/pages/Main/index.tsx @@ -221,10 +221,16 @@ export default function Main(): JSX.Element { void window.service.window.open(WindowNames.addWorkspace)} /> - await window.service.window.open(WindowNames.notifications)}> + await window.service.window.open(WindowNames.notifications)}> {typeof pauseNotifications === 'string' && pauseNotifications.length > 0 ? : } - await window.service.window.open(WindowNames.preferences)}> + await window.service.window.open(WindowNames.preferences)}>