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.
		
		
		
		
		
			
		
			
				
	
	
		
			129 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			129 lines
		
	
	
		
			5.7 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
 | |
|   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'),
 | |
| };
 |