Fix.the.tests.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2020-05-27 16:51:04 +01:00
parent e35c9d5bbf
commit 7486338efa
3 changed files with 18 additions and 43 deletions

View file

@ -20,25 +20,13 @@ module.exports = async function toastScenarios(alice, bob) {
console.log(" checking and clearing toasts:"); console.log(" checking and clearing toasts:");
alice.log.startGroup(`clears toasts`); alice.log.startGroup(`clears toasts`);
// alice.log.step(`accepts desktop notifications toast`); alice.log.step(`reject desktop notifications toast`);
// await acceptToast(alice, "Notifications"); await rejectToast(alice, "Notifications");
// alice.log.done(); alice.log.done();
//
// alice.log.step(`accepts analytics toast`);
// await acceptToast(alice, "Help us improve Riot");
// alice.log.done();
while (true) { alice.log.step(`accepts analytics toast`);
try { await acceptToast(alice, "Help us improve Riot");
const h2Element = await alice.query('.mx_Toast_title h2'); alice.log.done();
const toastTitle = await alice.innerText(h2Element);
console.log("DEBUG closing", toastTitle);
const toastDismissButton = await alice.query('.mx_Toast_buttons .mx_AccessibleButton_kind_danger');
await toastDismissButton.click();
} catch (e) {
break;
}
}
alice.log.step(`checks no remaining toasts`); alice.log.step(`checks no remaining toasts`);
await assertNoToasts(alice); await assertNoToasts(alice);
@ -46,25 +34,13 @@ module.exports = async function toastScenarios(alice, bob) {
alice.log.endGroup(); alice.log.endGroup();
bob.log.startGroup(`clears toasts`); bob.log.startGroup(`clears toasts`);
// bob.log.step(`reject desktop notifications toast`); bob.log.step(`reject desktop notifications toast`);
// await rejectToast(bob, "Notifications"); await rejectToast(bob, "Notifications");
// bob.log.done(); bob.log.done();
//
// bob.log.step(`reject analytics toast`);
// await rejectToast(bob, "Help us improve Riot");
// bob.log.done();
while (true) { bob.log.step(`reject analytics toast`);
try { await rejectToast(bob, "Help us improve Riot");
const h2Element = await bob.query('.mx_Toast_title h2'); bob.log.done();
const toastTitle = await bob.innerText(h2Element);
console.log("DEBUG closing", toastTitle);
const toastDismissButton = await bob.query('.mx_Toast_buttons .mx_AccessibleButton_kind_danger');
await toastDismissButton.click();
} catch (e) {
break;
}
}
bob.log.step(`checks no remaining toasts`); bob.log.step(`checks no remaining toasts`);
await assertNoToasts(bob); await assertNoToasts(bob);

View file

@ -122,8 +122,8 @@ module.exports = class RiotSession {
await input.type(text); await input.type(text);
} }
query(selector, timeout = DEFAULT_TIMEOUT) { query(selector, timeout = DEFAULT_TIMEOUT, hidden = false) {
return this.page.waitForSelector(selector, {visible: true, timeout}); return this.page.waitForSelector(selector, {visible: true, timeout, hidden});
} }
async queryAll(selector) { async queryAll(selector) {

View file

@ -18,16 +18,15 @@ const assert = require('assert');
async function assertNoToasts(session) { async function assertNoToasts(session) {
try { try {
await session.query('.mx_Toast_toast'); await session.query('.mx_Toast_toast', 1000, true);
} catch (e) { } catch (e) {
return; const h2Element = await session.query('.mx_Toast_title h2', 1000);
}
const h2Element = await session.query('.mx_Toast_title h2');
const toastTitle = await session.innerText(h2Element); const toastTitle = await session.innerText(h2Element);
throw new Error(`"${toastTitle}" toast found when none expected`); throw new Error(`"${toastTitle}" toast found when none expected`);
} }
}
async function assertToast(session, expectedTitle) { async function assertToast(session, expectedTitle) {
const h2Element = await session.query('.mx_Toast_title h2'); const h2Element = await session.query('.mx_Toast_title h2');
const toastTitle = await session.innerText(h2Element); const toastTitle = await session.innerText(h2Element);