diff options
author | Swoichha Adhikari <swoichhaa@gmail.com> | 2021-05-25 12:04:19 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-25 12:04:19 +0300 |
commit | 808284d75bb23a85de3c8068051995dbbf8e18d2 (patch) | |
tree | 28b1f60e6bc8e3523dd65dee0cbc8aeebdd93c3d /test/gui/shared/scripts | |
parent | a64b638468455a6e2edf185578d7c3be3a888d9b (diff) |
[tests-only]POM for sharing (#8634)
Diffstat (limited to 'test/gui/shared/scripts')
-rw-r--r-- | test/gui/shared/scripts/helpers/SetupClientHelper.py | 61 | ||||
-rw-r--r-- | test/gui/shared/scripts/names.py | 20 | ||||
-rw-r--r-- | test/gui/shared/scripts/pageObjects/EnterPassword.py | 29 | ||||
-rw-r--r-- | test/gui/shared/scripts/pageObjects/PublicLinkDialog.py | 174 | ||||
-rw-r--r-- | test/gui/shared/scripts/pageObjects/SharingDialog.py | 84 |
5 files changed, 354 insertions, 14 deletions
diff --git a/test/gui/shared/scripts/helpers/SetupClientHelper.py b/test/gui/shared/scripts/helpers/SetupClientHelper.py index 7e20adb5e..5a572716f 100644 --- a/test/gui/shared/scripts/helpers/SetupClientHelper.py +++ b/test/gui/shared/scripts/helpers/SetupClientHelper.py @@ -1,4 +1,9 @@ from urllib.parse import urlparse +import squish + + +confdir = '/tmp/bdd-tests-owncloud-client/' +confFilePath = confdir + 'owncloud.cfg' def substituteInLineCodes(context, value): @@ -27,3 +32,59 @@ def getClientDetails(context): except: pass return server, user, password, localfolder + + +def startClient(context): + squish.startApplication( + "owncloud -s" + + " --logfile " + + context.userData['clientConfigFile'] + + " --language en_US" + + " --confdir " + + confdir + ) + squish.snooze(1) + + +def getPollingInterval(): + pollingInterval = '''[ownCloud] + remotePollInterval={pollingInterval} + ''' + args = {'pollingInterval': 5000} + pollingInterval = pollingInterval.format(**args) + return pollingInterval + + +def setUpClient(context, username, confFilePath): + userSetting = ''' + [Accounts] + 0/Folders/1/ignoreHiddenFiles=true + 0/Folders/1/localPath={client_sync_path} + 0/Folders/1/paused=false + 0/Folders/1/targetPath=/ + 0/Folders/1/version=2 + 0/Folders/1/virtualFilesMode=off + 0/dav_user={davUserName} + 0/display-name={displayUserName} + 0/http_oauth=false + 0/http_user={davUserName} + 0/url={local_server} + 0/user={displayUserFirstName} + 0/version=1 + version=2 + ''' + userFirstName = username.split() + userSetting = userSetting + getPollingInterval() + args = { + 'displayUserName': username, + 'davUserName': userFirstName[0].lower(), + 'displayUserFirstName': userFirstName[0], + 'client_sync_path': context.userData['clientSyncPath'], + 'local_server': context.userData['localBackendUrl'], + } + userSetting = userSetting.format(**args) + configFile = open(confFilePath, "w") + configFile.write(userSetting) + configFile.close() + + startClient(context) diff --git a/test/gui/shared/scripts/names.py b/test/gui/shared/scripts/names.py index 074a5952b..d25961616 100644 --- a/test/gui/shared/scripts/names.py +++ b/test/gui/shared/scripts/names.py @@ -26,22 +26,19 @@ stack_accountToolbox_QToolButton = {"container": settings_stack_QStackedWidget, settings_QMenu = {"type": "QMenu", "unnamed": 1, "visible": 1, "window": settings_OCC_SettingsDialog} stack_Remove_connection_QPushButton = {"container": settings_stack_QStackedWidget, "text": "Remove connection", "type": "QPushButton", "unnamed": 1, "visible": 1} owncloudWizard_usernameLabel_QLabel = {"name": "usernameLabel", "type": "QLabel", "visible": 1, "window": owncloudWizard_OCC_OwncloudWizard} -leUsername_QLineEdit = {"buddy": owncloudWizard_usernameLabel_QLabel, "name": "leUsername", "type": "QLineEdit", "visible": 1} owncloudWizard_passwordLabel_QLabel = {"name": "passwordLabel", "type": "QLabel", "visible": 1, "window": owncloudWizard_OCC_OwncloudWizard} -lePassword_QLineEdit = {"buddy": owncloudWizard_passwordLabel_QLabel, "name": "lePassword", "type": "QLineEdit", "visible": 1} qFileDialog_fileNameLabel_QLabel = {"name": "fileNameLabel", "type": "QLabel", "visible": 1, "window": qFileDialog_QFileDialog} -fileNameEdit_QLineEdit = {"buddy": qFileDialog_fileNameLabel_QLabel, "name": "fileNameEdit", "type": "QLineEdit", "visible": 1} +leUsername_QLineEdit = {"buddy": owncloudWizard_usernameLabel_QLabel, "name": "leUsername", "type": "QLineEdit", "visible": 1} owncloudWizard_cbSyncFromScratch_QRadioButton = {"name": "cbSyncFromScratch", "type": "QRadioButton", "visible": 1, "window": owncloudWizard_OCC_OwncloudWizard} +lePassword_QLineEdit = {"buddy": owncloudWizard_passwordLabel_QLabel, "name": "lePassword", "type": "QLineEdit", "visible": 1} +fileNameEdit_QLineEdit = {"buddy": qFileDialog_fileNameLabel_QLabel, "name": "fileNameEdit", "type": "QLineEdit", "visible": 1} settings_settingsdialog_toolbutton_artur_jankaritech_ocloud_de_QToolButton = {"name": "settingsdialog_toolbutton_artur@jankaritech.ocloud.de", "type": "QToolButton", "visible": 1, "window": settings_OCC_SettingsDialog} stack_folderList_QTreeView = {"container": settings_stack_QStackedWidget, "name": "_folderList", "type": "QTreeView", "visible": 1} sharingDialog_OCC_ShareDialog = {"name": "SharingDialog", "type": "OCC::ShareDialog", "visible": 1} sharingDialog_qt_tabwidget_stackedwidget_QStackedWidget = {"name": "qt_tabwidget_stackedwidget", "type": "QStackedWidget", "visible": 1, "window": sharingDialog_OCC_ShareDialog} qt_tabwidget_stackedwidget_SharingDialogUG_OCC_ShareUserGroupWidget = {"container": sharingDialog_qt_tabwidget_stackedwidget_QStackedWidget, "name": "SharingDialogUG", "type": "OCC::ShareUserGroupWidget", "visible": 1} -sharingDialogUG_shareeLineEdit_QLineEdit = {"container": qt_tabwidget_stackedwidget_SharingDialogUG_OCC_ShareUserGroupWidget, "name": "shareeLineEdit", "type": "QLineEdit", "visible": 1} -o_QListView = {"type": "QListView", "unnamed": 1, "visible": 1} sharingDialogUG_scrollArea_QScrollArea = {"container": qt_tabwidget_stackedwidget_SharingDialogUG_OCC_ShareUserGroupWidget, "name": "scrollArea", "type": "QScrollArea", "visible": 1} scrollArea_deleteShareButton_QToolButton = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "deleteShareButton", "type": "QToolButton", "visible": 1} -sharingDialog_Close_QPushButton = {"text": "Close", "type": "QPushButton", "unnamed": 1, "visible": 1, "window": sharingDialog_OCC_ShareDialog} settings_settingsdialog_toolbutton_Quit_ownCloud_QToolButton = {"name": "settingsdialog_toolbutton_Quit ownCloud", "type": "QToolButton", "visible": 1, "window": settings_OCC_SettingsDialog} quit_ownCloud_QMessageBox = {"type": "QMessageBox", "unnamed": 1, "visible": 1, "windowTitle": "Quit ownCloud"} quit_ownCloud_Yes_QPushButton = {"text": "Yes", "type": "QPushButton", "unnamed": 1, "visible": 1, "window": quit_ownCloud_QMessageBox} @@ -69,30 +66,25 @@ o_notifyScroll_Accept_QPushButton = {"container": oCC_ActivityWidget_notifyScrol o_notifyScroll_timeLabel_QLabel = {"container": oCC_ActivityWidget_notifyScroll_QScrollArea, "name": "_timeLabel", "type": "QLabel", "visible": 1} o_notifyScroll_subjectLabel_QLabel = {"container": oCC_ActivityWidget_notifyScroll_QScrollArea, "name": "_subjectLabel", "type": "QLabel", "visible": 1} scrollArea_OCC_ShareUserLine_OCC_ShareUserLine = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "OCC__ShareUserLine", "type": "OCC::ShareUserLine", "visible": 1} -scrollArea_permissionShare_QCheckBox = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "permissionShare", "type": "QCheckBox", "visible": 1} -scrollArea_permissionsEdit_QCheckBox = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "permissionsEdit", "type": "QCheckBox", "visible": 1} -scrollArea_sharedWith_QLabel = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "sharedWith", "type": "QLabel", "visible": 1} -enter_Password_Field = {"container": enter_Password_QInputDialog, "type": "QLineEdit", "unnamed": 1, "visible": 1} -enter_Password_OK_QPushButton = {"text": "OK", "type": "QPushButton", "unnamed": 1, "visible": 1, "window": enter_Password_QInputDialog} o_folderList_QModelIndex = {"column": 0, "container": stack_folderList_QTreeView, "text": "", "type": "QModelIndex"} qt_tabwidget_stackedwidget_OCC_IssuesWidget_OCC_IssuesWidget = {"container": stack_qt_tabwidget_stackedwidget_QStackedWidget, "name": "OCC__IssuesWidget", "type": "OCC::IssuesWidget", "visible": 1} oCC_IssuesWidget_treeWidget_QTreeWidget = {"container": qt_tabwidget_stackedwidget_OCC_IssuesWidget_OCC_IssuesWidget, "name": "_treeWidget", "type": "QTreeWidget", "visible": 1} o_treeWidget_lorem_conflicted_copy_2020_12_14_133239_txt_QModelIndex = {"column": 1, "container": oCC_IssuesWidget_treeWidget_QTreeWidget, "text": RegularExpression("lorem (conflicted copy 2020-12-14 133239).txt"), "type": "QModelIndex"} stack_QTabWidget = {"container": settings_stack_QStackedWidget, "type": "QTabWidget", "unnamed": 1, "visible": 1} +scrollArea_sharedWith_QLabel = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "sharedWith", "type": "QLabel", "visible": 1} +scrollArea_permissionsEdit_QCheckBox = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "permissionsEdit", "type": "QCheckBox", "visible": 1} +scrollArea_permissionShare_QCheckBox = {"container": sharingDialogUG_scrollArea_QScrollArea, "name": "permissionShare", "type": "QCheckBox", "visible": 1} stack_qt_tabwidget_tabbar_QTabBar = {"container": settings_stack_QStackedWidget, "name": "qt_tabwidget_tabbar", "type": "QTabBar", "visible": 1} o_treeWidget_Conflict_Server_version_downloaded_local_copy_renamed_and_not_uploaded_QModelIndex = {"column": 3, "container": oCC_IssuesWidget_treeWidget_QTreeWidget, "text": "Conflict: Server version downloaded, local copy renamed and not uploaded.", "type": "QModelIndex"} qt_tabwidget_stackedwidget_OCC_ProtocolWidget_OCC_ProtocolWidget = {"container": stack_qt_tabwidget_stackedwidget_QStackedWidget, "name": "OCC__ProtocolWidget", "type": "OCC::ProtocolWidget", "visible": 1} oCC_ProtocolWidget_treeWidget_QTreeWidget = {"container": qt_tabwidget_stackedwidget_OCC_ProtocolWidget_OCC_ProtocolWidget, "name": "_treeWidget", "type": "QTreeWidget", "visible": 1} o_treeWidget_lorem_txt_QModelIndex = {"column": 1, "container": oCC_ProtocolWidget_treeWidget_QTreeWidget, "text": "lorem.txt", "type": "QModelIndex"} sharingDialog_qt_tabwidget_tabbar_QTabBar = {"name": "qt_tabwidget_tabbar", "type": "QTabBar", "visible": 1, "window": sharingDialog_OCC_ShareDialog} -qt_tabwidget_tabbar_Public_Links_TabItem = {"container": sharingDialog_qt_tabwidget_tabbar_QTabBar, "text": "Public Links", "type": "TabItem"} qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget = {"container": sharingDialog_qt_tabwidget_stackedwidget_QStackedWidget, "name": "OCC__ShareLinkWidget", "type": "OCC::ShareLinkWidget", "visible": 1} oCC_ShareLinkWidget_checkBox_password_QCheckBox = {"container": qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, "name": "checkBox_password", "type": "QCheckBox", "visible": 1} oCC_ShareLinkWidget_widget_editing_QWidget = {"container": qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, "name": "widget_editing", "type": "QWidget", "visible": 1} oCC_ShareLinkWidget_checkBox_password_QProgressIndicator = {"aboveWidget": oCC_ShareLinkWidget_widget_editing_QWidget, "container": qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, "leftWidget": oCC_ShareLinkWidget_checkBox_password_QCheckBox, "type": "QProgressIndicator", "unnamed": 1, "visible": 1} -sharingDialog_The_file_can_not_be_shared_because_it_was_shared_without_sharing_permission_QLabel = {"text": "The file can not be shared because it was shared without sharing permission.", "type": "QLabel", "unnamed": 1, "visible": 1, "window": sharingDialog_OCC_ShareDialog} sharingDialog_label_name_QLabel = {"name": "label_name", "type": "QLabel", "visible": 1, "window": sharingDialog_OCC_ShareDialog} -oCC_ShareLinkWidget_createShareButton_QPushButton = {"container": qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, "name": "createShareButton", "type": "QPushButton", "visible": 1} oCC_ShareLinkWidget_linkShares_QTableWidget = {"container": qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, "name": "linkShares", "type": "QTableWidget", "visible": 1} linkShares_QToolButton = {"container": oCC_ShareLinkWidget_linkShares_QTableWidget, "text": "...", "type": "QToolButton", "unnamed": 1, "visible": 1} oCC_ShareLinkWidget_lineEdit_password_QLineEdit = {"container": qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, "name": "lineEdit_password", "type": "QLineEdit", "visible": 1} diff --git a/test/gui/shared/scripts/pageObjects/EnterPassword.py b/test/gui/shared/scripts/pageObjects/EnterPassword.py new file mode 100644 index 000000000..5311fe654 --- /dev/null +++ b/test/gui/shared/scripts/pageObjects/EnterPassword.py @@ -0,0 +1,29 @@ +import names +import squish + + +class EnterPassword: + PASSWORD_BOX = { + "container": names.enter_Password_QInputDialog, + "type": "QLineEdit", + "unnamed": 1, + "visible": 1, + } + OK_BUTTON = { + "text": "OK", + "type": "QPushButton", + "unnamed": 1, + "visible": 1, + "window": names.enter_Password_QInputDialog, + } + + def __init__(self): + pass + + def enterPassword(self, password): + try: + squish.waitForObject(self.PASSWORD_BOX, 10000) + squish.type(squish.waitForObject(self.PASSWORD_BOX), password) + squish.clickButton(squish.waitForObject(self.OK_BUTTON)) + except LookupError: + pass diff --git a/test/gui/shared/scripts/pageObjects/PublicLinkDialog.py b/test/gui/shared/scripts/pageObjects/PublicLinkDialog.py new file mode 100644 index 000000000..536bb002d --- /dev/null +++ b/test/gui/shared/scripts/pageObjects/PublicLinkDialog.py @@ -0,0 +1,174 @@ +import names +import squish +import test +import datetime + + +class PublicLinkDialog: + PUBLIC_LINKS_TAB = { + "container": names.sharingDialog_qt_tabwidget_tabbar_QTabBar, + "text": "Public Links", + "type": "TabItem", + } + ITEM_TO_SHARE = { + "name": "label_name", + "type": "QLabel", + "visible": 1, + "window": names.sharingDialog_OCC_ShareDialog, + } + PASSWORD_CHECKBOX = { + "container": names.qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, + "name": "checkBox_password", + "type": "QCheckBox", + "visible": 1, + } + CREATE_SHARE_BUTTON = { + "container": names.qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, + "name": "createShareButton", + "type": "QPushButton", + "visible": 1, + } + + PUBLIC_LINK_NAME = { + "column": 0, + "container": names.oCC_ShareLinkWidget_linkShares_QTableWidget, + "row": 0, + "type": "QModelIndex", + } + EXPIRATION_DATE_FIELD = { + "container": names.qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, + "name": "qt_spinbox_lineedit", + "type": "QLineEdit", + "visible": 1, + } + READ_ONLY_RADIO_BUTTON = { + "container": names.qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, + "name": "radio_readOnly", + "type": "QRadioButton", + "visible": 1, + } + READ_WRITE_RADIO_BUTTON = { + "container": names.qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, + "name": "radio_readWrite", + "type": "QRadioButton", + "visible": 1, + } + UPLOAD_ONLY_RADIO_BUTTON = { + "container": names.qt_tabwidget_stackedwidget_OCC_ShareLinkWidget_OCC_ShareLinkWidget, + "name": "radio_uploadOnly", + "type": "QRadioButton", + "visible": 1, + } + + def openPublicLinkDialog(self): + squish.mouseClick( + squish.waitForObject(self.PUBLIC_LINKS_TAB), + 0, + 0, + squish.Qt.NoModifier, + squish.Qt.LeftButton, + ) + + def createPublicLink(self, context, resource, password='', permissions=''): + radioObjectName = '' + if permissions: + radioObjectName = self.getRadioObjectForPermssion(permissions) + + test.compare( + str(squish.waitForObjectExists(self.ITEM_TO_SHARE).text), + resource.replace(context.userData['clientSyncPath'], ''), + ) + + if radioObjectName: + test.compare( + str(squish.waitForObjectExists(radioObjectName).text), permissions + ) + squish.clickButton(squish.waitForObject(radioObjectName)) + + if password: + squish.clickButton(squish.waitForObject(self.PASSWORD_CHECKBOX)) + squish.mouseClick( + squish.waitForObject(self.PASSWORD_CHECKBOX), + 0, + 0, + squish.Qt.NoModifier, + squish.Qt.LeftButton, + ) + squish.type( + squish.waitForObject(self.PASSWORD_CHECKBOX), + password, + ) + + squish.clickButton(squish.waitForObject(self.CREATE_SHARE_BUTTON)) + squish.waitFor( + lambda: ( + squish.waitForObject(names.linkShares_0_0_QModelIndex).displayText + == "Public link" + ) + ) + + def togglesPassword(self): + squish.clickButton(squish.waitForObject(self.PASSWORD_CHECKBOX)) + + def setExpirationDate(self, context, publicLinkName, resource): + test.compare( + str(squish.waitForObjectExists(self.ITEM_TO_SHARE).text), + resource, + ) + test.compare( + str(squish.waitForObjectExists(self.PUBLIC_LINK_NAME).text), + publicLinkName, + ) + expDate = [] + for row in context.table: + if row[0] == 'expireDate': + expDate = datetime.datetime.strptime(row[1], '%Y-%m-%d') + expYear = expDate.year - 2000 + squish.mouseClick( + squish.waitForObject(self.EXPIRATION_DATE_FIELD), + 0, + 0, + squish.Qt.NoModifier, + squish.Qt.LeftButton, + ) + squish.nativeType("<Delete>") + squish.nativeType("<Delete>") + squish.nativeType(expDate.month) + squish.nativeType(expDate.day) + squish.nativeType(expYear) + squish.nativeType("<Return>") + squish.testSettings.silentVerifications = True + squish.waitFor( + lambda: (test.xvp("publicLinkExpirationProgressIndicatorInvisible")) + ) + waitFor(lambda: (test.vp("publicLinkExpirationProgressIndicatorInvisible"))) + squish.testSettings.silentVerifications = False + test.compare( + str(squish.waitForObjectExists(self.EXPIRATION_DATE_FIELD).displayText), + str(expDate.month) + "/" + str(expDate.day) + "/" + str(expYear), + ) + + def getRadioObjectForPermssion(self, permissions): + radioObjectName = '' + if permissions == 'Download / View' or permissions == 'Viewer': + radioObjectName = self.READ_ONLY_RADIO_BUTTON + elif permissions == 'Download / View / Edit' or permissions == 'Editor': + radioObjectName = self.READ_WRITE_RADIO_BUTTON + elif permissions == 'Upload only (File Drop)' or permissions == 'Contributor': + radioObjectName = self.UPLOAD_ONLY_RADIO_BUTTON + else: + raise Exception("No such radio object found for given permission") + + return radioObjectName + + def createPublicLinkWithRole(self, role): + radioObjectName = self.getRadioObjectForPermssion(role) + + squish.clickButton(squish.waitForObject(radioObjectName)) + squish.clickButton(squish.waitForObject(self.CREATE_SHARE_BUTTON)) + squish.waitFor( + lambda: ( + squish.findObject(names.linkShares_0_0_QModelIndex).displayText + == "Public link" + ) + ) diff --git a/test/gui/shared/scripts/pageObjects/SharingDialog.py b/test/gui/shared/scripts/pageObjects/SharingDialog.py new file mode 100644 index 000000000..0447593eb --- /dev/null +++ b/test/gui/shared/scripts/pageObjects/SharingDialog.py @@ -0,0 +1,84 @@ +import names +import squish +import test + + +class SharingDialog: + + SHARE_WITH_COLLABORATOR_INPUT_FIELD = { + "container": names.qt_tabwidget_stackedwidget_SharingDialogUG_OCC_ShareUserGroupWidget, + "name": "shareeLineEdit", + "type": "QLineEdit", + "visible": 1, + } + SUGGESTED_COLLABORATOR = {"type": "QListView", "unnamed": 1, "visible": 1} + EDIT_PERMISSIONS_CHECKBOX = { + "container": names.sharingDialogUG_scrollArea_QScrollArea, + "name": "permissionsEdit", + "type": "QCheckBox", + "visible": 1, + } + SHARE_PERMISSIONS_CHECKBOX = { + "container": names.sharingDialogUG_scrollArea_QScrollArea, + "name": "permissionShare", + "type": "QCheckBox", + "visible": 1, + } + SHARING_DIALOG_CLOSE_BUTTON = { + "text": "Close", + "type": "QPushButton", + "unnamed": 1, + "visible": 1, + "window": names.sharingDialog_OCC_ShareDialog, + } + SHARED_WITH_ = { + "container": names.sharingDialogUG_scrollArea_QScrollArea, + "name": "sharedWith", + "type": "QLabel", + "visible": 1, + } + ERROR_SHOWN_ON_SHARING_DIALOG = { + "type": "QLabel", + "unnamed": 1, + "visible": 1, + "window": names.sharingDialog_OCC_ShareDialog, + } + + def addCollaborator(self, receiver, permissions): + squish.mouseClick( + squish.waitForObject(self.SHARE_WITH_COLLABORATOR_INPUT_FIELD), + 0, + 0, + squish.Qt.NoModifier, + squish.Qt.LeftButton, + ) + squish.type( + squish.waitForObject(self.SHARE_WITH_COLLABORATOR_INPUT_FIELD), + receiver, + ) + squish.mouseClick( + squish.waitForObjectItem(self.SUGGESTED_COLLABORATOR, receiver), + 0, + 0, + squish.Qt.NoModifier, + squish.Qt.LeftButton, + ) + permissionsList = permissions.split(",") + + editChecked = squish.waitForObjectExists(self.EDIT_PERMISSIONS_CHECKBOX).checked + shareChecked = squish.waitForObjectExists( + self.SHARE_PERMISSIONS_CHECKBOX + ).checked + if ('edit' in permissionsList and editChecked == False) or ( + 'edit' not in permissionsList and editChecked == True + ): + squish.clickButton(squish.waitForObject(self.EDIT_PERMISSIONS_CHECKBOX)) + if ('share' in permissionsList and shareChecked == False) or ( + 'share' not in permissionsList and shareChecked == True + ): + squish.clickButton(squish.waitForObject(self.SHARE_PERMISSIONS_CHECKBOX)) + + squish.clickButton(squish.waitForObject(self.SHARING_DIALOG_CLOSE_BUTTON)) + + def getErrorText(self): + return str(squish.waitForObjectExists(self.ERROR_SHOWN_ON_SHARING_DIALOG).text) |