You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
5.8 KiB
JavaScript
131 lines
5.8 KiB
JavaScript
const commonPage = require('./common.page');
|
|
|
|
module.exports = {
|
|
// conversation view
|
|
sessionLoader: commonPage.divWithClass('session-loader'),
|
|
leftPaneOverlay: commonPage.divWithClass('module-left-pane-overlay'),
|
|
sendMessageTextarea: commonPage.textAreaWithClass('send-message'),
|
|
sendFriendRequestTextarea: commonPage.textAreaWithPlaceholder(
|
|
'Send your first message'
|
|
),
|
|
existingSendMessageText: textMessage =>
|
|
`//*[contains(@class, "module-message__text--outgoing") and .//span[contains(@class, "text-selectable")][contains(string(), '${textMessage}')]]`,
|
|
existingFriendRequestText: textMessage =>
|
|
`//*[contains(@class, "module-message-friend-request__container") and .//span[contains(@class, "text-selectable")][contains(string(), '${textMessage}')]]`,
|
|
existingReceivedMessageText: textMessage =>
|
|
`//*[contains(@class, "module-message__text--incoming") and .//span[contains(@class, "text-selectable")][contains(string(), '${textMessage}')]]`,
|
|
|
|
// conversations
|
|
conversationButtonSection:
|
|
'//*[contains(@class,"session-icon-button") and .//*[contains(@class, "chatBubble")]]',
|
|
retrySendButton: commonPage.divWithClassAndText(
|
|
'module-friend-request__buttonContainer--outgoing',
|
|
'Retry Send'
|
|
),
|
|
headerTitleMembers: number =>
|
|
commonPage.spanWithClassAndText(
|
|
'module-conversation-header__title-text',
|
|
`${number} members`
|
|
),
|
|
|
|
attachmentInput: '//*[contains(@class, "choose-file")]/input[@type="file"]',
|
|
attachmentButton: '//*[contains(@class, "choose-file")]/button',
|
|
|
|
messageCtxMenu: message =>
|
|
`//div[contains(@class, 'message-wrapper')]//span[contains(string(), '${message}')]/parent::div/parent::div/parent::div/parent::div//div[contains(@class, 'module-message__buttons__menu')]`,
|
|
|
|
deleteMessageCtxButton:
|
|
'//*[contains(@class, "react-contextmenu--visible")]/div[contains(string(), "Delete")]',
|
|
deleteMessageModalButton:
|
|
'//*[contains(@class, "session-modal")]//div[contains(string(), "Delete") and contains(@class, "session-button")]',
|
|
|
|
// channels
|
|
globeButtonSection:
|
|
'//*[contains(@class,"session-icon-button") and .//*[contains(@class, "globe")]]',
|
|
joinOpenGroupButton: commonPage.divRoleButtonWithText('Join Open Group'),
|
|
openGroupInputUrl: commonPage.textAreaWithPlaceholder('chat.getsession.org'),
|
|
sessionToastJoinOpenGroupSuccess: commonPage.toastWithText(
|
|
'Successfully connected to new open group server'
|
|
),
|
|
sessionToastJoinOpenGroupAlreadyExist: commonPage.toastWithText(
|
|
'You are already connected to this public channel'
|
|
),
|
|
rowOpenGroupConversationName: groupName =>
|
|
commonPage.spanWithClassAndText(
|
|
'module-conversation__user__profile-number',
|
|
groupName
|
|
),
|
|
|
|
// closed group
|
|
createClosedGroupButton: commonPage.divRoleButtonWithText(
|
|
'Create Closed Group'
|
|
),
|
|
closedGroupNameTextarea: commonPage.textAreaWithPlaceholder(
|
|
'Enter a group name'
|
|
),
|
|
createClosedGroupMemberItem: idx =>
|
|
commonPage.divWithClass(`session-member-item-${idx}`),
|
|
createClosedGroupSealedSenderToggle: commonPage.divWithClass(
|
|
'session-toggle'
|
|
),
|
|
createClosedGroupMemberItemSelected: commonPage.divWithClass(
|
|
'session-member-item selected'
|
|
),
|
|
validateCreationClosedGroupButton: commonPage.divRoleButtonWithText(
|
|
'Create Closed Group'
|
|
),
|
|
sessionToastGroupCreatedSuccess: commonPage.toastWithText(
|
|
'Group created successfully'
|
|
),
|
|
headerTitleGroupName: groupname =>
|
|
commonPage.spanWithClassAndText(
|
|
'module-contact-name__profile-name',
|
|
groupname
|
|
),
|
|
|
|
// contacts
|
|
contactsButtonSection:
|
|
'//*[contains(@class,"session-icon-button") and .//*[contains(@class, "users")]]',
|
|
addContactButton: commonPage.divRoleButtonWithText('Add Contact'),
|
|
sessionIDInput: commonPage.textAreaWithPlaceholder('Enter a Session ID'),
|
|
nextButton: commonPage.divRoleButtonWithText('Next'),
|
|
oneNotificationFriendRequestLeft:
|
|
'//*[contains(@class,"session-icon-button") and .//*[contains(@class, "users")] and .//*[contains(@class, "notification-count") and contains(string(), "1")] ]',
|
|
oneNotificationFriendRequestTop:
|
|
'//*[contains(@class,"notification-count hover") and contains(string(), "1")]',
|
|
friendRequestFromUser: (displayName, pubkey) =>
|
|
`//*[contains(@class,"module-left-pane__list-popup") and .//*[contains(@class, "module-conversation__user") and .//*[contains(string(), "${displayName}")] and .//*[contains(string(), "(...${pubkey.substring(
|
|
60
|
|
)})")]]]`,
|
|
acceptFriendRequestButton:
|
|
'//*[contains(@role, "button")][contains(@class, "session-button")][contains(string(), "Accept")]',
|
|
acceptedFriendRequestMessage:
|
|
'//*[contains(@class, "module-friend-request__title")][contains(string(), "Friend request accepted")]',
|
|
|
|
descriptionDeleteAccount: commonPage.spanWithClassAndText(
|
|
'session-confirm-main-message',
|
|
'Are you sure you want to delete your account?'
|
|
),
|
|
validateDeleteAccount: commonPage.divRoleButtonDangerWithText('OK'),
|
|
|
|
// device linking
|
|
noPairedDeviceMessage:
|
|
'//*[contains(@class, "session-settings-item__title")][contains(string(), "No linked devices")]',
|
|
linkDeviceButton: commonPage.divRoleButtonWithText('Link New Device'),
|
|
linkDeviceButtonDisabled: commonPage.divRoleButtonWithTextDisabled(
|
|
'Link New Device'
|
|
),
|
|
devicePairingDialog: '//*[contains(@class,"device-pairing-dialog")]',
|
|
qrImageDiv: commonPage.divWithClass('qr-image'),
|
|
allowPairingButton: commonPage.divRoleButtonWithText('Allow Linking'),
|
|
okButton: commonPage.divRoleButtonWithText('OK'),
|
|
devicePairedDescription: secretWords =>
|
|
commonPage.divWithClassAndText(
|
|
'session-settings-item__description',
|
|
secretWords
|
|
),
|
|
unpairDeviceButton: commonPage.divRoleButtonDangerWithText('Unlink Device'),
|
|
deleteAccountButton: commonPage.divRoleButtonDangerWithText('Delete Account'),
|
|
validateUnpairDevice: commonPage.divRoleButtonDangerWithText('Unlink'),
|
|
};
|