diff --git a/src/toasts/AnalyticsToast.tsx b/src/toasts/AnalyticsToast.tsx index b186a65d9d..7cd59222dd 100644 --- a/src/toasts/AnalyticsToast.tsx +++ b/src/toasts/AnalyticsToast.tsx @@ -24,12 +24,14 @@ import GenericToast from "../components/views/toasts/GenericToast"; import ToastStore from "../stores/ToastStore"; const onAccept = () => { + console.log("DEBUG onAccept AnalyticsToast"); dis.dispatch({ action: 'accept_cookies', }); }; const onReject = () => { + console.log("DEBUG onReject AnalyticsToast"); dis.dispatch({ action: "reject_cookies", }); diff --git a/test/end-to-end-tests/src/scenarios/toast.js b/test/end-to-end-tests/src/scenarios/toast.js index 02496f398d..97b5caa14f 100644 --- a/test/end-to-end-tests/src/scenarios/toast.js +++ b/test/end-to-end-tests/src/scenarios/toast.js @@ -20,13 +20,25 @@ 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 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(`rejects analytics toast`); - await rejectToast(alice, "Help us improve Riot"); - 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(`checks no remaining toasts`); await assertNoToasts(alice); @@ -34,13 +46,25 @@ 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 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 analytics toast`); - await rejectToast(bob, "Help us improve Riot"); - 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(`checks no remaining toasts`); await assertNoToasts(bob); diff --git a/test/end-to-end-tests/src/usecases/toasts.js b/test/end-to-end-tests/src/usecases/toasts.js index 2e88677e4b..75142ed08f 100644 --- a/test/end-to-end-tests/src/usecases/toasts.js +++ b/test/end-to-end-tests/src/usecases/toasts.js @@ -22,7 +22,10 @@ async function assertNoToasts(session) { } catch (e) { return; } - throw new Error('toast found when none expected'); + + const h2Element = await session.query('.mx_Toast_title h2'); + const toastTitle = await session.innerText(h2Element); + throw new Error(`"${toastTitle}" toast found when none expected`); } async function assertToast(session, expectedTitle) {