From 324181f79d955ce2a6aa7f900876b9b61000e0c0 Mon Sep 17 00:00:00 2001 From: Sergey Petushkov Date: Thu, 16 Nov 2023 14:25:41 +0100 Subject: [PATCH] chore(e2e): wait for toggle to be checked with retries --- .../compass-e2e-tests/tests/atlas-login.test.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/compass-e2e-tests/tests/atlas-login.test.ts b/packages/compass-e2e-tests/tests/atlas-login.test.ts index dad8d294903..7df48be7891 100644 --- a/packages/compass-e2e-tests/tests/atlas-login.test.ts +++ b/packages/compass-e2e-tests/tests/atlas-login.test.ts @@ -165,13 +165,25 @@ describe('Atlas Login', function () { const acceptTOSToggle = browser.$(Selectors.AcceptTOSToggle); - expect(await acceptTOSToggle.getAttribute('aria-checked')).to.eq('false'); + expect(await acceptTOSToggle.getAttribute('aria-checked')).to.eq( + 'false', + 'Expected TOS toggle to be unchecked' + ); await browser.clickVisible(acceptTOSToggle); await browser.clickVisible(Selectors.AgreeAndContinueButton); - expect(await acceptTOSToggle.getAttribute('aria-checked')).to.eq('true'); + // We are not just waiting here, this is asserting that toggle was + // switched on, indicating that TOS was accepted + await browser.waitUntil( + async () => { + return ( + (await acceptTOSToggle.getAttribute('aria-checked')) === 'true' + ); + }, + { timeoutMsg: 'Expected TOS toggle to be checked' } + ); }); it('should sign out user when "Disconnect" clicked', async function () {