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:");
alice.log.startGroup(`clears toasts`);
// alice.log.step(`accepts desktop notifications toast`);
// await acceptToast(alice, "Notifications");
// alice.log.done();
//
// alice.log.step(`accepts analytics toast`);
// await acceptToast(alice, "Help us improve Riot");
// alice.log.done();
alice.log.step(`reject desktop notifications toast`);
await rejectToast(alice, "Notifications");
alice.log.done();
while (true) {
try {
const h2Element = await alice.query('.mx_Toast_title h2');
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(`accepts analytics toast`);
await acceptToast(alice, "Help us improve Riot");
alice.log.done();
alice.log.step(`checks no remaining toasts`);
await assertNoToasts(alice);
@ -46,25 +34,13 @@ module.exports = async function toastScenarios(alice, bob) {
alice.log.endGroup();
bob.log.startGroup(`clears toasts`);
// bob.log.step(`reject desktop notifications toast`);
// await rejectToast(bob, "Notifications");
// bob.log.done();
//
// bob.log.step(`reject analytics toast`);
// await rejectToast(bob, "Help us improve Riot");
// bob.log.done();
bob.log.step(`reject desktop notifications toast`);
await rejectToast(bob, "Notifications");
bob.log.done();
while (true) {
try {
const h2Element = await bob.query('.mx_Toast_title h2');
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(`reject analytics toast`);
await rejectToast(bob, "Help us improve Riot");
bob.log.done();
bob.log.step(`checks no remaining toasts`);
await assertNoToasts(bob);

View file

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

View file

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