diff --git a/test/nbrowser/HomeIntro.ts b/test/nbrowser/HomeIntro.ts index 67678439..38eeccaf 100644 --- a/test/nbrowser/HomeIntro.ts +++ b/test/nbrowser/HomeIntro.ts @@ -66,7 +66,7 @@ describe('HomeIntro', function() { }); // Open doc-menu - await session.loadDocMenu('/'); + await session.loadDocMenu('/', 'skipWelcomeQuestions'); // Check message specific to logged-in user assert.match(await driver.find('.test-welcome-title').getText(), new RegExp(`Welcome.* ${session.name}`)); @@ -91,7 +91,7 @@ describe('HomeIntro', function() { await session.resetSite(); // Open doc-menu - await session.loadDocMenu('/'); + await session.loadDocMenu('/', 'skipWelcomeQuestions'); // Check message specific to logged-in user assert.match(await driver.find('.test-welcome-title').getText(), new RegExp(`Welcome.* ${session.name}`)); diff --git a/test/nbrowser/gristUtils.ts b/test/nbrowser/gristUtils.ts index c68cd4c6..8ddbfec7 100644 --- a/test/nbrowser/gristUtils.ts +++ b/test/nbrowser/gristUtils.ts @@ -1364,9 +1364,20 @@ export class Session { } // Load a DocMenu on a site. - public async loadDocMenu(relPath: string, wait: boolean = true) { + // If loading for a potentially first-time user, you may give 'skipWelcomeQuestions' for second + // argument to dismiss the popup with welcome questions, if it gets shown. + public async loadDocMenu(relPath: string, wait: boolean|'skipWelcomeQuestions' = true) { await this.loadRelPath(relPath); if (wait) { await waitForDocMenuToLoad(); } + + if (wait === 'skipWelcomeQuestions') { + // When waitForDocMenuToLoad() returns, welcome questions should also render, so that we + // don't need to wait extra for them. + if (await driver.find('.test-welcome-questions').isPresent()) { + await driver.sendKeys(Key.ESCAPE); + assert.equal(await driver.find('.test-welcome-questions').isPresent(), false); + } + } } public async loadRelPath(relPath: string) {