test: member role tests added

This commit is contained in:
Valentina Novgorodtceva 2023-12-28 15:49:05 +07:00 committed by Anastasiya
parent d941bc031a
commit acdbdbe7f1
21 changed files with 160 additions and 4 deletions

View File

@ -0,0 +1 @@
{"address":"191538ec539dfebb342a22c201947a3d2db764f0","crypto":{"cipher":"aes-128-ctr","ciphertext":"7e842eccebea6168b61f1ab9823c26133a7a678f43f01e6470af807fe117d637","cipherparams":{"iv":"53e86ecb8cde404ba5e0a5b1b5de0321"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"acd00aa4f59db1cb3763ce290cdbf6edac32b2944bbf9e52112fdb229151affe"},"mac":"43cef74ce275ae60614e873932c8298c3285c93203a2359436d869289f196102"},"id":"bddfdfad-b93d-4310-b4e8-7d93bc3ad988","version":3,"extendedkey":{"cipher":"aes-128-ctr","ciphertext":"ba6afcf4e6fea73f1ed8053faeb42589387ea6d0619290cccf10cf23a5caac83a92a0faa27ecc9cc6a97b12c1b06bbdd57746a65db88e80a456a896c77ccf4a8c793bf89c1cac6a8f483b7b76b5b784b133d87499392ab4273a721b3279057acee75041bf342583b8eefaf20f870ff","cipherparams":{"iv":"557b8c940b148698a48a13cfe296acba"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"2990f0e1dfaeaf177939034ca7d2ed07349d93196e1994d53fbad7a839b65463"},"mac":"dc6c7e6d85ed8dc0330842c17a124c3641280c29e548eacee29f25194921a9f2"},"subaccountindex":0}

View File

@ -0,0 +1 @@
{"address":"738d0e34efd00b175fffebf4ea56e0cd08973f32","crypto":{"cipher":"aes-128-ctr","ciphertext":"62c5bf766883093e3f317f8f3ee05876c236395ad3099d33e1114ecdab2054a3","cipherparams":{"iv":"c2bdb9224cb45fb54a235a5542b91924"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"4ec448917161e85615b52e1d96b4332adb98cfbd07c1583b053f91d7b7a52666"},"mac":"18227cb9172741982f2465f4152283f0337a569e92e02a51699e76ecdac0752c"},"id":"71786f54-cf8f-4252-a888-1c3af233d9ac","version":3,"extendedkey":{"cipher":"aes-128-ctr","ciphertext":"7e3a3bad7ee3f048286b7331bdcf2d6e899d7c40c2d0931e3dd6e75c6ad57b7ad2322a973cdc3bf0905092d1c05e9d01ba6dcf1f1f7c4417c19b85c4b4fd923ada9c8a042a1e652a0b6e765795d913f7251da76d11d593b39c2063ec338e0e88662b7086712c4bc31eee8bcea2e5e0","cipherparams":{"iv":"c0948f4c7987cac56f9578edb4c69bee"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"a8de8ff25063f712b97cf924172cc0bb22ef8a27248c0a8c738ba6bbd3eb1d4e"},"mac":"9a9d683f137fd104013c1a85847e8976b8e363daf1848755e236e14b33334374"},"subaccountindex":0}

View File

@ -0,0 +1 @@
{"address":"5b5f29b5d12b254bf61d01e2aa3b07da32d3ea3a","crypto":{"cipher":"aes-128-ctr","ciphertext":"8ed56c36714c31790deb05497bf16f3280f5cf6eb0ca304ab3da877148ac90e6","cipherparams":{"iv":"e077a5da4a474ce373db639c3b5c538e"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"c2274ab0b2ad7dca95f17dfcce59f298799879e0f991f9ba05a2232187751050"},"mac":"1bf3309fb8d8763c3d4de8161e9233e1e347a0fdc276b0656fc7bdcad7fbfc3b"},"id":"a86cae97-60d1-4df1-b2b1-ccc0715c8fa8","version":3,"extendedkey":{"cipher":"aes-128-ctr","ciphertext":"1f50c64d202a9362c15212bcd002ac9a61d321e6805a83b29e0553f21161da4964d96700e33db3daf1f3b944bda33a6040b03ed7063b644974f21d7218d49ed662c7da7a956e8baf24d1854abe4aae3d392400ca7ba8863769f16f96d2323d1475c54e31506e9012b1823416eca20b","cipherparams":{"iv":"ca852280baa1d8c4c0a9e6b677b15ffa"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"be00b26e5d0b9a373316343b9912a45485488a8cf38c39af6d84ac0f44abf092"},"mac":"8ae19455b5c962cef333507e9514bb408e40568782904c9b6860b9972c704815"},"subaccountindex":0}

View File

@ -0,0 +1 @@
{"address":"01a1ebdb2e4f164be25723e8db5428cb28729435","crypto":{"cipher":"aes-128-ctr","ciphertext":"d9dec4e2f4e63b3410d72e1250590fb94e69755cd6b04b1120bcf98b842652d3","cipherparams":{"iv":"dc8794adfbfdae3625339b70b78808c4"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"b1b9c56bc5568c7848f219511b9b8a5fd26fa1dd4097489bead739487b61ba54"},"mac":"91825974a0fce530ce862dcd956abab03cd8c085768f6539ba632cb79000496b"},"id":"5094eee6-e04d-4c00-86b6-63e6ff1ab479","version":3,"extendedkey":{"cipher":"aes-128-ctr","ciphertext":"52be57702ec41946b2a9328043f6c274ab377d4ac32a3f941038f6f33dedbd6712c8c46fc43d28864aa1912c0f5d88b996bd7b37ffac86d4e675deed89a16a5a43118a1dba83567421f676b199714b582d9988990b2c47dcd0a38d5adfee71eccbc71848f36d0e9c28c9ef8a193965","cipherparams":{"iv":"b242331d3d3d81c67094b7ae7215ad36"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"479e097d29a44508ce10847771f3d5cb7174348566cee622c6db4b9c2641face"},"mac":"413c6d1c0efaad83e6bb1e1e6d14543809500df9c0d45130b50a6674e4d191c7"},"subaccountindex":0}

View File

@ -0,0 +1 @@
{"address":"3c0f7b8667728b436af4f5c7048c15f7c2c826d1","crypto":{"cipher":"aes-128-ctr","ciphertext":"aec8952be76f168e5cca4e4462657b6dcc0fdc7f6879edecdb480047cc0525d4","cipherparams":{"iv":"75347a7bf66d3ae3d66dc8c2683e58e2"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"95bc6ce1462bbf267ead0ff03399d6111752daf737e493bf44146a1a3f61b445"},"mac":"e0f1625acac8ffed839411b516cc6bc07d2a3f89f7fcdaf80c57b4bf90d9e817"},"id":"fdf61ab7-7c4d-40f1-8b74-c8c17e9e762f","version":3,"extendedkey":{"cipher":"aes-128-ctr","ciphertext":"18d8389d4c17466ffa8b704941f9529b148f1601965f5c3788d438ead36044798cd2074196748526b8186920d6ba1ede700e97501d2fbb9f3e9a77c655976b386ceda2e9abeeb488bd1eb074cd5949084fa51b67a20cbab2d2d01ec5b7cf7b1f9da68776c1330b555f12ea1f903aa9","cipherparams":{"iv":"d68c1332f3fbdea0464ed9c8807553e4"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"926be10fa31c42d0c7529ce9cfa82883baf4690ab486e2d099095d2a32aba5fc"},"mac":"e412d68ca782ee9e7f3a5f2a11353ba6015c4b3f9bb084bbf642b42b122b53ff"},"subaccountindex":0}

View File

@ -0,0 +1 @@
{"address":"d9820c82aee23ba87c099e76fad9c558b0b1fad8","crypto":{"cipher":"aes-128-ctr","ciphertext":"723e1804516b79d0dd567c847345df952ff871137e12044fd07079ce77968c0c","cipherparams":{"iv":"7683cd1f2118a7280e3b2168df613841"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"a403850d1f70f7fd6c61dffdc28e445d8666efdd273e9f4aa82a3ba6c1980fab"},"mac":"6f10f82cfc2213d5658be3956dbcd228dcddc36966d4e72a03e2a3ad2d910192"},"id":"8cdfd08a-d431-431b-9db1-96f3e2835386","version":3,"extendedkey":{"cipher":"aes-128-ctr","ciphertext":"9ee6b7c58b4b71a5f538a67bd86932432b605145148bef01d03edf47fb199cc6b1f55dda894e3a67ffa6096d38fc659dd8e4a16f5bff83e1923e6d049e082de67e056f2ebd20b150ca43f417e709d1dbef74fdaf4c7067d70663e959ffb1925dd2d0a9e1d2ac7c935c62ff36f374a7","cipherparams":{"iv":"8df4e09c6b0b6123fd7ffd20647a5e11"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":4096,"p":6,"r":8,"salt":"559047b7722d147bfe1a424ef632f7b90159abc2a692a56b2bb9552f3a65e80b"},"mac":"c4441c1a241aab35cf9d8341f6f292738cf41dcde5e6dac84ab54ff08bf21d48"},"subaccountindex":0}

View File

@ -10,6 +10,7 @@ import constants
import driver
from constants import UserAccount
from gui.components.community.invite_contacts import InviteContactsPopup
from gui.components.context_menu import ContextMenu
from gui.components.onboarding.before_started_popup import BeforeStartedPopUp
from gui.components.onboarding.beta_consent_popup import BetaConsentPopup
from gui.components.splash_screen import SplashScreen
@ -123,6 +124,12 @@ class LeftPanel(QObject):
def get_community_logo(self, name: str) -> Image:
return Image(driver.objectMap.realName(self._get_community(name)))
@allure.step('Open context menu for community')
def open_community_context_menu(self, name: str) -> ContextMenu:
driver.objectMap.realName(self._get_community(name))['name'] = name
self._get_community(name).open_context_menu()
return ContextMenu().wait_until_appears()
@allure.step('Invite people in community')
def invite_people_in_community(self, contacts: typing.List[str], message: str, community_name: str):
driver.mouseClick(self._get_community(community_name), driver.Qt.RightButton)

View File

@ -31,6 +31,8 @@ edit_Category_StatusMenuItem = {"checkable": False, "container": statusDesktop_m
scrollView_menuButton_StatusChatListCategoryItemButton = {"container": mainWindow_scrollView_StatusScrollView, "id": "menuButton", "type": "StatusChatListCategoryItemButton", "unnamed": 1, "visible": True}
scrollView_toggleButton_StatusChatListCategoryItemButton = {"container": mainWindow_scrollView_StatusScrollView, "id": "toggleButton", "type": "StatusChatListCategoryItemButton", "unnamed": 1, "visible": True}
scrollView_addButton_StatusChatListCategoryItemButton = {"container": mainWindow_scrollView_StatusScrollView, "id": "addButton", "type": "StatusChatListCategoryItemButton", "unnamed": 1, "visible": True}
add_channels_StatusButton = {"checkable": False, "container": mainWindow_scrollView_StatusScrollView, "id": "addMembersBtn", "type": "StatusButton", "unnamed": 1, "visible": True}
scrollView_general_StatusChatListItem = {"container": mainWindow_scrollView_StatusScrollView, "objectName": "general", "type": "StatusChatListItem", "visible": True}
# Tool Bar
mainWindow_statusToolBar_StatusToolBar = {"container": mainWindow_communityLoader_Loader, "objectName": "statusToolBar", "type": "StatusToolBar", "visible": True}

View File

@ -11,13 +11,13 @@ from driver.objects_access import walk_children
from gui.components.community.community_category_popup import NewCategoryPopup, EditCategoryPopup, CategoryPopup
from gui.components.community.community_channel_popups import EditChannelPopup, NewChannelPopup
from gui.components.community.welcome_community import WelcomeCommunityPopup
from gui.components.context_menu import ContextMenu
from gui.components.delete_popup import DeletePopup, DeleteCategoryPopup
from gui.elements.button import Button
from gui.elements.list import List
from gui.elements.object import QObject
from gui.elements.text_label import TextLabel
from gui.screens.community_settings import CommunitySettingsScreen
from scripts.tools import image
from scripts.tools.image import Image
@ -121,16 +121,29 @@ class ToolBar(QObject):
@allure.step('Open edit channel popup')
def open_edit_channel_popup(self):
self._more_options_button.click()
self.open_more_options_dropdown()
self._edit_channel_context_item.click()
return EditChannelPopup().wait_until_appears()
@allure.step('Open delete channel popup')
def open_delete_channel_popup(self):
self._more_options_button.click()
self.open_more_options_dropdown()
self._delete_channel_context_item.click()
return DeletePopup().wait_until_appears()
@allure.step('Open more options dropdown')
def open_more_options_dropdown(self):
self._more_options_button.click()
return self
@allure.step('Get visibility state of edit item')
def is_edit_item_visible(self) -> bool:
return self._edit_channel_context_item.is_visible
@allure.step('Get visibility state of delete item')
def is_delete_item_visible(self) -> bool:
return self._delete_channel_context_item.is_visible
class CategoryItem:
@ -169,6 +182,8 @@ class LeftPanel(QObject):
self._community_logo = QObject('mainWindow_identicon_StatusSmartIdenticon')
self._name_text_label = TextLabel('mainWindow_statusChatInfoButtonNameText_TruncatedTextWithTooltip')
self._members_text_label = TextLabel('mainWindow_Members_TruncatedTextWithTooltip')
self._general_channel_item = QObject('scrollView_general_StatusChatListItem')
self._add_channels_button = Button('add_channels_StatusButton')
self._channel_list_item = QObject('channel_listItem')
self._channel_icon_template = QObject('channel_identicon_StatusSmartIdenticon')
self._channel_or_category_button = Button('mainWindow_createChannelOrCategoryBtn_StatusBaseText')
@ -241,14 +256,35 @@ class LeftPanel(QObject):
self._create_channel_menu_item.click()
return NewChannelPopup().wait_until_appears()
@allure.step('Get visibility state of create channel or category button')
def is_create_channel_or_category_button_visible(self) -> bool:
return self._channel_or_category_button.is_visible
@allure.step('Get visibility state of add channels button')
def is_add_channels_button_visible(self) -> bool:
return self._add_channels_button.is_visible
@allure.step('Get visibility state of add category button')
def is_add_category_button_visible(self) -> bool:
return self._create_category_button.is_visible
@allure.step('Select channel')
def select_channel(self, name: str):
for obj in driver.findAllObjects(self._channel_list_item.real_name):
if str(obj.objectName) == name:
driver.mouseClick(obj)
return
return obj
raise LookupError('Channel not found')
@allure.step('Open general channel context menu')
def open_general_channel_context_menu(self):
self._general_channel_item.open_context_menu()
ContextMenu().wait_until_appears()
@allure.step('Open category context menu')
def open_category_context_menu(self):
self._category_list_item.open_context_menu()
@allure.step('Open create category popup')
def open_create_category_popup(self, attempts: int = 2) -> NewCategoryPopup:
self._channel_or_category_button.click()
@ -283,6 +319,15 @@ class LeftPanel(QObject):
def open_more_options(self):
self._arrow_button.click()
self._more_button.click()
return self
@allure.step('Get visibility state of delete item')
def is_delete_item_visible(self) -> bool:
return self._delete_category_item.is_visible
@allure.step('Get visibility state of edit item')
def is_edit_item_visible(self) -> bool:
return self._edit_category_item.is_visible
@allure.step('Open delete category popup')
def open_delete_category_popup(self) -> DeleteCategoryPopup:
@ -306,6 +351,10 @@ class LeftPanel(QObject):
if child.objectName == name:
return child.visualIndex
@allure.step('Right click on left panel')
def right_click_on_panel(self):
super(LeftPanel, self).open_context_menu()
class Chat(QObject):

View File

@ -2,8 +2,10 @@ import allure
import pytest
from allure_commons._allure import step
import configs
import constants
from gui.components.community.community_category_popup import EditCategoryPopup, CategoryPopup
from gui.components.context_menu import ContextMenu
from gui.main_window import MainWindow
from . import marks
@ -100,3 +102,43 @@ def test_edit_community_category(main_screen: MainWindow, category_name, general
with step('Verify that selected channel is now listed outside of category'):
assert community_screen.left_panel.get_channel_or_category_index(second_channel_name) == 0
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703272', 'Member role cannot add category')
@pytest.mark.case(703272)
@pytest.mark.parametrize('user_data', [configs.testpath.TEST_USER_DATA / 'squisher'])
def test_member_role_cannot_add_categories(main_screen: MainWindow):
with step('Choose community user is not owner of'):
community_screen = main_screen.left_panel.select_community('Super community')
with step('Verify that create channel or category button is not present'):
assert not community_screen.left_panel.is_create_channel_or_category_button_visible()
with step('Verify that add category button is not present'):
assert not community_screen.left_panel.is_add_category_button_visible()
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703273', 'Member role cannot edit category')
@pytest.mark.case(703273)
@pytest.mark.parametrize('user_data', [configs.testpath.TEST_USER_DATA / 'squisher'])
def test_member_role_cannot_edit_category(main_screen: MainWindow):
with step('Choose community user is not owner of'):
community_screen = main_screen.left_panel.select_community('Super community')
with step('Right-click on category in the left navigation bar'):
community_screen.left_panel.open_category_context_menu()
with step('Verify that context menu does not appear'):
assert not ContextMenu().is_visible
with step('Verify that delete item is not present in more options context menu'):
assert not community_screen.left_panel.open_more_options().is_edit_item_visible()
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703274', 'Member role cannot delete category')
@pytest.mark.case(703274)
@pytest.mark.parametrize('user_data', [configs.testpath.TEST_USER_DATA / 'squisher'])
def test_member_role_cannot_delete_category(main_screen: MainWindow):
with step('Choose community user is not owner of'):
community_screen = main_screen.left_panel.select_community('Super community')
with step('Right-click on category in the left navigation bar'):
community_screen.left_panel.open_category_context_menu()
with step('Verify that context menu does not appear'):
assert not ContextMenu().is_visible
with step('Verify that delete item is not present in more options context menu'):
assert not community_screen.left_panel.open_more_options().is_delete_item_visible()

View File

@ -2,7 +2,9 @@ import allure
import pytest
from allure_commons._allure import step
import configs
import constants
from gui.components.context_menu import ContextMenu
from gui.main_window import MainWindow
from . import marks
@ -71,3 +73,51 @@ def test_delete_community_channel(main_screen):
with step('Verify channel list is empty'):
assert len(community_screen.left_panel.channels) == 0
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703269', 'Member role cannot add channels')
@pytest.mark.case(703269)
@pytest.mark.parametrize('user_data', [configs.testpath.TEST_USER_DATA / 'squisher'])
def test_member_role_cannot_add_channels(main_screen: MainWindow):
with step('Choose community user is not owner of'):
community_screen = main_screen.left_panel.select_community('Super community')
with step('Verify that create channel or category button is not present'):
assert not community_screen.left_panel.is_create_channel_or_category_button_visible()
with step('Verify that add channel button is not present'):
assert not community_screen.left_panel.is_add_channels_button_visible()
with step('Right-click a channel on the left navigation bar'):
community_screen.left_panel.right_click_on_panel()
with step('Verify that context menu does not appear'):
assert not ContextMenu().is_visible
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703270', 'Member role cannot edit channels')
@pytest.mark.case(703270)
@pytest.mark.parametrize('user_data', [configs.testpath.TEST_USER_DATA / 'squisher'])
def test_member_role_cannot_edit_channels(main_screen: MainWindow):
with step('Choose community user is not owner of'):
community_screen = main_screen.left_panel.select_community('Super community')
with step('Right-click on general channel in the left navigation bar'):
community_screen.left_panel.open_general_channel_context_menu()
with step('Verify that edit item is not present in context menu'):
assert not community_screen.tool_bar.is_edit_item_visible()
with step('Open more options context menu'):
more_options_dropdown = community_screen.tool_bar.open_more_options_dropdown()
with step('Verify that edit item is not present in context menu'):
assert not more_options_dropdown.is_edit_item_visible()
@allure.testcase('https://ethstatus.testrail.net/index.php?/cases/view/703271', 'Member role cannot delete channels')
@pytest.mark.case(703271)
@pytest.mark.parametrize('user_data', [configs.testpath.TEST_USER_DATA / 'squisher'])
def test_member_role_cannot_delete_channels(main_screen: MainWindow):
with step('Choose community user is not owner of'):
community_screen = main_screen.left_panel.select_community('Super community')
with step('Right-click on general channel in the left navigation bar'):
community_screen.left_panel.open_general_channel_context_menu()
with step('Verify that delete item is not present in context menu'):
assert not community_screen.tool_bar.is_delete_item_visible()
with step('Open more options context menu'):
more_options_dropdown = community_screen.tool_bar.open_more_options_dropdown()
with step('Verify that delete item is not present in context menu'):
assert not more_options_dropdown.is_delete_item_visible()