diff options
author | Talank <talank@gces.edu.np> | 2021-06-03 07:12:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-03 07:12:49 +0300 |
commit | 93cd5462138c6c7067d720af071f394efc3000d8 (patch) | |
tree | fcfb76fc61f6d6b12ca40e979c4a837395e52205 /test/gui/shared/scripts | |
parent | f93b10750942df73a1fbead6cc0837b1c683b141 (diff) |
POM implementation in the syncing tests (#8655)
Diffstat (limited to 'test/gui/shared/scripts')
-rw-r--r-- | test/gui/shared/scripts/helpers/FilesHelper.py | 11 | ||||
-rw-r--r-- | test/gui/shared/scripts/names.py | 2 | ||||
-rw-r--r-- | test/gui/shared/scripts/pageObjects/Activity.py | 30 | ||||
-rw-r--r-- | test/gui/shared/scripts/pageObjects/SyncWizard.py | 17 | ||||
-rw-r--r-- | test/gui/shared/scripts/pageObjects/Toolbar.py | 14 |
5 files changed, 72 insertions, 2 deletions
diff --git a/test/gui/shared/scripts/helpers/FilesHelper.py b/test/gui/shared/scripts/helpers/FilesHelper.py new file mode 100644 index 000000000..10d29cdda --- /dev/null +++ b/test/gui/shared/scripts/helpers/FilesHelper.py @@ -0,0 +1,11 @@ +def buildConflictedRegex(filename): + if '.' in filename: + # TODO: improve this for complex filenames + namepart = filename.split('.')[0] + extpart = filename.split('.')[1] + return '%s \(conflicted copy \d{4}-\d{2}-\d{2} \d{6}\)\.%s' % ( + namepart, + extpart, + ) + else: + return '%s \(conflicted copy \d{4}-\d{2}-\d{2} \d{6}\)' % (filename) diff --git a/test/gui/shared/scripts/names.py b/test/gui/shared/scripts/names.py index d25961616..3d06adeb6 100644 --- a/test/gui/shared/scripts/names.py +++ b/test/gui/shared/scripts/names.py @@ -55,7 +55,6 @@ proxyGroupBox_authRequiredcheckBox_QCheckBox = {"container": groupBox_proxyGroup proxyGroupBox_labelLocalhost_QLabel = {"container": groupBox_proxyGroupBox_QGroupBox, "name": "labelLocalhost", "type": "QLabel", "visible": 1} groupBox_uploadBox_QGroupBox = {"container": scrollArea_groupBox_QGroupBox, "name": "uploadBox", "type": "QGroupBox", "visible": 1} uploadBox_autoUploadLimitRadioButton_QRadioButton = {"container": groupBox_uploadBox_QGroupBox, "name": "autoUploadLimitRadioButton", "type": "QRadioButton", "visible": 1} -settings_settingsdialog_toolbutton_Activity_QToolButton = {"name": "settingsdialog_toolbutton_Activity", "type": "QToolButton", "visible": 1, "window": settings_OCC_SettingsDialog} stack_qt_tabwidget_stackedwidget_QStackedWidget = {"container": settings_stack_QStackedWidget, "name": "qt_tabwidget_stackedwidget", "type": "QStackedWidget", "visible": 1} qt_tabwidget_stackedwidget_OCC_ActivityWidget_OCC_ActivityWidget = {"container": stack_qt_tabwidget_stackedwidget_QStackedWidget, "name": "OCC__ActivityWidget", "type": "OCC::ActivityWidget", "visible": 1} oCC_ActivityWidget_activityList_QListView = {"container": qt_tabwidget_stackedwidget_OCC_ActivityWidget_OCC_ActivityWidget, "name": "_activityList", "type": "QListView", "visible": 1} @@ -70,7 +69,6 @@ o_folderList_QModelIndex = {"column": 0, "container": stack_folderList_QTreeView 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} diff --git a/test/gui/shared/scripts/pageObjects/Activity.py b/test/gui/shared/scripts/pageObjects/Activity.py new file mode 100644 index 000000000..1ec71db9e --- /dev/null +++ b/test/gui/shared/scripts/pageObjects/Activity.py @@ -0,0 +1,30 @@ +import names +import squish +from objectmaphelper import RegularExpression +from helpers.FilesHelper import buildConflictedRegex + + +class Activity: + SUBTAB = { + "container": names.settings_stack_QStackedWidget, + "type": "QTabWidget", + "unnamed": 1, + "visible": 1, + } + + def clickTab(self, tabName): + # TODO: find some way to dynamically select the tab name + # It might take some time for all files to sync except the expected number of unsynced files + squish.snooze(10) + squish.clickTab(squish.waitForObject(self.SUBTAB), tabName) + + def checkFileExist(self, filename): + squish.waitForObject(names.settings_OCC_SettingsDialog) + squish.waitForObjectExists( + { + "column": 1, + "container": names.oCC_IssuesWidget_tableView_QTableView, + "text": RegularExpression(buildConflictedRegex(filename)), + "type": "QModelIndex", + } + ) diff --git a/test/gui/shared/scripts/pageObjects/SyncWizard.py b/test/gui/shared/scripts/pageObjects/SyncWizard.py new file mode 100644 index 000000000..8dcf94336 --- /dev/null +++ b/test/gui/shared/scripts/pageObjects/SyncWizard.py @@ -0,0 +1,17 @@ +import names +import squish + + +class SyncWizard: + ACTION_MENU = { + "container": names.settings_stack_QStackedWidget, + "name": "_folderList", + "type": "QTreeView", + "visible": 1, + } + + def performAction(self, action): + squish.openContextMenu( + squish.waitForObjectItem(self.ACTION_MENU, "_1"), 0, 0, squish.Qt.NoModifier + ) + squish.activateItem(squish.waitForObjectItem(names.settings_QMenu, action)) diff --git a/test/gui/shared/scripts/pageObjects/Toolbar.py b/test/gui/shared/scripts/pageObjects/Toolbar.py new file mode 100644 index 000000000..6a46e534e --- /dev/null +++ b/test/gui/shared/scripts/pageObjects/Toolbar.py @@ -0,0 +1,14 @@ +import names +import squish + + +class Toolbar: + ACTIVITY_BUTTON = { + "name": "settingsdialog_toolbutton_Activity", + "type": "QToolButton", + "visible": 1, + "window": names.settings_OCC_SettingsDialog, + } + + def clickActivity(self): + squish.clickButton(squish.waitForObject(self.ACTIVITY_BUTTON)) |