From 012e771fc2dda481fd88ccfb7b01a38054c7d35a Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Wed, 5 Jun 2024 14:48:54 -0700 Subject: [PATCH] Fix accept gv2 invite test --- ts/components/Modal.tsx | 2 ++ ts/hooks/useAnimated.tsx | 5 ++++- ts/test-mock/pnp/accept_gv2_invite_test.ts | 14 +++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ts/components/Modal.tsx b/ts/components/Modal.tsx index 208b963098..494d2a5c52 100644 --- a/ts/components/Modal.tsx +++ b/ts/components/Modal.tsx @@ -170,6 +170,7 @@ export function ModalPage({ i18n, modalFooter, modalHeaderChildren, + modalName, moduleClassName, onBackButtonClick, onClose, @@ -220,6 +221,7 @@ export function ModalPage({ tabIndex={-1} aria-labelledby={title ? `${id}-title` : undefined} aria-describedby={ariaDescribedBy} + data-testid={modalName} onClick={event => { event.stopPropagation(); }} diff --git a/ts/hooks/useAnimated.tsx b/ts/hooks/useAnimated.tsx index 61bca88e74..2f56550189 100644 --- a/ts/hooks/useAnimated.tsx +++ b/ts/hooks/useAnimated.tsx @@ -76,7 +76,10 @@ export function useAnimated( useChain(shouldShowModal ? [overlayRef, modalRef] : [modalRef, overlayRef]); const close = useCallback(() => { setState(currentState => { - if (currentState === ModalState.Open) { + if ( + currentState === ModalState.Open || + currentState === ModalState.Opening + ) { return ModalState.Closing; } return currentState; diff --git a/ts/test-mock/pnp/accept_gv2_invite_test.ts b/ts/test-mock/pnp/accept_gv2_invite_test.ts index b05a8933db..f213800c09 100644 --- a/ts/test-mock/pnp/accept_gv2_invite_test.ts +++ b/ts/test-mock/pnp/accept_gv2_invite_test.ts @@ -163,7 +163,14 @@ describe('pnp/accept gv2 invite', function (this: Mocha.Suite) { .locator('.conversation-details-panel >> "Leave group"') .click(); - await window.locator('.module-Modal button >> "Leave"').click(); + await window + .getByTestId('ConfirmationDialog.ConversationDetailsAction.confirmLeave') + .getByRole('button', { name: 'Leave' }) + .click(); + + debug('Get back to timeline'); + + await window.locator('.ConversationPanel__header__back-button').click(); debug('Waiting for final group update'); group = await phone.waitForGroupUpdate(group); @@ -173,6 +180,11 @@ describe('pnp/accept gv2 invite', function (this: Mocha.Suite) { assert(!group.getMemberByServiceId(desktop.pni)); assert(!group.getPendingMemberByServiceId(desktop.aci)); assert(group.getPendingMemberByServiceId(desktop.pni)); + + debug('Waiting for notification'); + await window + .locator('.SystemMessage:has-text("You left the group")') + .waitFor(); }); it('should decline PNI invite and modify the group state', async () => {