status-desktop/test/e2e/constants/user.py

204 lines
6.6 KiB
Python

import random
import string
from collections import namedtuple
from dataclasses import dataclass, field
from typing import Optional
import configs
from constants import ColorCodes
from scripts.tools.image import Image
from scripts.utils.generators import random_name_string, random_password_string, random_community_name, \
random_community_description, random_community_introduction, random_community_leave_message, random_community_tags, \
random_color
@dataclass
class UserAccount:
name: str = None
password: str = None
seed_phrase: Optional[list] = field(default_factory=list)
status_address: Optional[str] = None
class RandomUser(UserAccount):
def __init__(self):
super().__init__(
name=random_name_string(),
password=random_password_string()
)
class ReturningUser(UserAccount):
def __init__(self, seed_phrase, status_address):
super().__init__(
name=random_name_string(),
password=random_password_string(),
seed_phrase=seed_phrase,
status_address=status_address
)
@dataclass
class CommunityChannel:
name: str = None
selected: bool = None
visible: bool = None
@dataclass
class CommunityData:
name: str = None
description: str = None
members: str = None
image: Image = None
logo: dict = field(default_factory=dict)
banner: dict = field(default_factory=dict)
color: Optional[str] = None
tags: list = field(default_factory=list)
introduction: str = None
leaving_message: str = None
class RandomCommunity(CommunityData):
def __init__(self):
super().__init__(
name=random_community_name(),
description=random_community_description(),
logo={'fp': configs.testpath.TEST_IMAGES / 'comm_logo.jpeg', 'zoom': None, 'shift': None},
banner={'fp': configs.testpath.TEST_IMAGES / 'comm_banner.jpeg', 'zoom': None, 'shift': None},
color=random_color(),
tags=random_community_tags(),
introduction=random_community_introduction(),
leaving_message=random_community_leave_message()
)
user_account_one = UserAccount('squisher', '0000000000', [
'rail', 'witness', 'era', 'asthma', 'empty', 'cheap', 'shed', 'pond', 'skate', 'amount', 'invite', 'year'
], '0x3286c371ef648fe6232324b27ee0515f4ded24d9')
user_account_two = UserAccount('athletic', '0000000000', [
'measure', 'cube', 'cousin', 'debris', 'slam', 'ignore', 'seven', 'hat', 'satisfy', 'frown', 'casino', 'inflict'
], '0x99C096bB5F12bDe37DE9dbee8257Ebe2a5667C46')
account_list_item = namedtuple('AccountListItem', ['name', 'color', 'emoji'])
wallet_account_list_item = namedtuple('WalletAccountListItem', ['name', 'icon_color', 'icon_emoji', 'object'])
account_list_item_2 = namedtuple('AccountListItem', ['name2', 'color2', 'emoji2'])
wallet_account_list_item_2 = namedtuple('WalletAccountListItem', ['name', 'icon', 'object'])
wallet_account = namedtuple('PrivateKeyAddressPair', ['private_key', 'wallet_address'])
private_key_address_pair_1 = wallet_account('2daa36a3abe381a9c01610bf10fda272fbc1b8a22179a39f782c512346e3e470',
'0xd89b48cbcb4244f84a4fb5d3369c120e8f8aa74e')
token_list_item = namedtuple('TokenListItem', ['title', 'object'])
community_tags = ['Activism', 'Art', 'Blockchain', 'Books & blogs', 'Career', 'Collaboration', 'Commerce', 'Culture',
'DAO', 'DIY', 'DeFi', 'Design', 'Education', 'Entertainment', 'Environment', 'Ethereum', 'Event',
'Fantasy', 'Fashion', 'Food', 'Gaming', 'Global', 'Health', 'Hobby', 'Innovation', 'Language',
'Lifestyle', 'Local', 'Love', 'Markets', 'Movies & TV', 'Music', 'NFT', 'NSFW', 'News', 'Non-profit',
'Org', 'Pets', 'Play', 'Podcast', 'Politics', 'Privacy', 'Product', 'Psyche', 'Security', 'Social',
'Software dev', 'Sports', 'Tech', 'Travel', 'Vehicles', 'Web3']
permission_data = [
{
'checkbox_state': True,
'first_asset': 'Dai Stablecoin',
'second_asset': False,
'amount': '10',
'allowed_to': 'becomeMember',
'in_channel': False,
'asset_title': '10 DAI',
'second_asset_title': False,
'allowed_to_title': 'Become member'
},
{
'checkbox_state': True,
'first_asset': 'Ether',
'second_asset': False,
'amount': '1',
'allowed_to': 'becomeAdmin',
'in_channel': False,
'asset_title': '1 ETH',
'second_asset_title': False,
'allowed_to_title': 'Become an admin'
},
{
'checkbox_state': True,
'first_asset': 'Ether',
'second_asset': 'Dai Stablecoin',
'amount': '10',
'allowed_to': 'viewAndPost',
'in_channel': '#general',
'asset_title': '10 ETH',
'second_asset_title': '10 DAI',
'allowed_to_title': 'View and post'
},
{
'checkbox_state': True,
'first_asset': 'Ether',
'second_asset': 'Dai Stablecoin',
'amount': '10',
'allowed_to': 'viewOnly',
'in_channel': '#general',
'asset_title': '10 ETH',
'second_asset_title': '10 DAI',
'allowed_to_title': 'View only'
},
{
'checkbox_state': False,
'first_asset': False,
'second_asset': False,
'amount': False,
'allowed_to': 'becomeAdmin',
'in_channel': False,
'asset_title': False,
'second_asset_title': False,
'allowed_to_title': 'Become an admin'
}
]
permission_data_member = [
{
'checkbox_state': True,
'first_asset': 'Dai Stablecoin',
'amount': '1',
'allowed_to': 'becomeMember',
'asset_title': '1 DAI',
'allowed_to_title': 'Become member'
},
{
'checkbox_state': True,
'first_asset': 'Aragon',
'amount': '2',
'allowed_to': 'becomeMember',
'asset_title': '2 ANT',
'allowed_to_title': 'Become member'
},
{
'checkbox_state': True,
'first_asset': '1inch',
'amount': '3',
'allowed_to': 'becomeMember',
'asset_title': '3 1INCH',
'allowed_to_title': 'Become member'
},
{
'checkbox_state': True,
'first_asset': 'ABYSS',
'amount': '4',
'allowed_to': 'becomeMember',
'asset_title': '4 ABYSS',
'allowed_to_title': 'Become member'
},
{
'checkbox_state': True,
'first_asset': 'Bytom',
'amount': '5',
'allowed_to': 'becomeMember',
'asset_title': '5 BTM',
'allowed_to_title': 'Become member'
}
]