From eb78ede5197cc4347ddd3025cafe4313de415664 Mon Sep 17 00:00:00 2001 From: "trinh.truongthiphuong" Date: Wed, 17 Sep 2025 10:11:48 +0700 Subject: [PATCH] mark e2e flow delete pin message --- .../PinnedMessages/ItemPinMessage.tsx | 3 ++- .../ContextMenu/DynamicContextMenu.tsx | 4 +++- .../DeleteMessageModal/ModalDeleteMess.tsx | 4 +++- .../src/lib/components/PinMessModal/index.tsx | 9 +++++++-- libs/utils/src/lib/e2e-testing/constants.ts | 20 +++++++++++++------ 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx b/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx index 43c0de60d9..35d97147d8 100644 --- a/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx +++ b/libs/components/src/lib/components/ChannelTopbar/TopBarComponents/PinnedMessages/ItemPinMessage.tsx @@ -1,6 +1,6 @@ import { useGetPriorityNameFromUserClan } from '@mezon/core'; import { PinMessageEntity, messagesActions, selectCurrentClanId, selectMessageByMessageId, useAppDispatch, useAppSelector } from '@mezon/store'; -import { IMessageWithUser, TOPBARS_MAX_WIDTH, convertTimeString } from '@mezon/utils'; +import { IMessageWithUser, TOPBARS_MAX_WIDTH, convertTimeString, generateE2eId } from '@mezon/utils'; import { ChannelStreamMode, safeJSONParse } from 'mezon-js'; import { ApiMessageAttachment } from 'mezon-js/api.gen'; import { useMemo } from 'react'; @@ -71,6 +71,7 @@ const ItemPinMessage = (props: ItemPinMessageProps) => { return (
diff --git a/libs/components/src/lib/components/ContextMenu/DynamicContextMenu.tsx b/libs/components/src/lib/components/ContextMenu/DynamicContextMenu.tsx index d661bdcf65..e15e185203 100644 --- a/libs/components/src/lib/components/ContextMenu/DynamicContextMenu.tsx +++ b/libs/components/src/lib/components/ContextMenu/DynamicContextMenu.tsx @@ -15,7 +15,7 @@ import { useAppSelector } from '@mezon/store'; import { Menu as Dropdown } from '@mezon/ui'; -import { ContextMenuItem, IEmoji, IMessageWithUser, QUICK_MENU_TYPE, SHOW_POSITION, isPublicChannel } from '@mezon/utils'; +import { ContextMenuItem, IEmoji, IMessageWithUser, QUICK_MENU_TYPE, SHOW_POSITION, generateE2eId, isPublicChannel } from '@mezon/utils'; import React, { ReactElement, useCallback, useMemo, useState } from 'react'; import { Item, Menu, Separator, Submenu } from 'react-contexify'; import { useSelector } from 'react-redux'; @@ -309,6 +309,7 @@ export default function DynamicContextMenu({ menuId, items, messageId, message,
Add Reaction @@ -335,6 +336,7 @@ export default function DynamicContextMenu({ menuId, items, messageId, message, }} >
{item.label} diff --git a/libs/components/src/lib/components/DeleteMessageModal/ModalDeleteMess.tsx b/libs/components/src/lib/components/DeleteMessageModal/ModalDeleteMess.tsx index 762aa82c3e..83f6e2819c 100644 --- a/libs/components/src/lib/components/DeleteMessageModal/ModalDeleteMess.tsx +++ b/libs/components/src/lib/components/DeleteMessageModal/ModalDeleteMess.tsx @@ -8,7 +8,7 @@ import { useAppSelector } from '@mezon/store'; import { Icons } from '@mezon/ui'; -import { IMessageWithUser, TypeMessage } from '@mezon/utils'; +import { generateE2eId, IMessageWithUser, TypeMessage } from '@mezon/utils'; import { ApiMessageAttachment } from 'mezon-js/api.gen'; import { useCallback, useEffect, useRef, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; @@ -153,11 +153,13 @@ const ModalDeleteMess = (props: ModalDeleteMessProps) => { onClick={closeModal} className="px-4 py-2 hover:underline rounded disabled:cursor-not-allowed disabled:hover:no-underline disabled:opacity-85 text-theme-primary" disabled={isLoading} + data-e2e={generateE2eId('chat.message_action_modal.confirm_modal.button.cancel')} > Cancel
-