TLDR;
- all links visible in settings/popup
- persistent order of items
- drag'n'drop to reorder
- editing/deleting in a new popup
- several links of the same type
Needs changes in nimqml (to expose QAIM::begin/endMoveRows), in
DOtherSide (to expose those to NIM), in status-go (to preserve the links
order and fully save them to DB)
Fixes#9777
Fixes#8005Fixes#9287
Fixes creating, editing and deleting a channel because they rely on createChannel, that sometimes fails because the mouse click was off the button.
- fix add-account-modal custom derivation checkbox blocking all workflows
- fix, improve and enable wallet tests
- wait_for_text_matching alternative, to is_text_matching, to check also for content as squish driver API
- add objectName based lookup for in some places where user-text was used
- add workaround to retry for 10 seconds add watch due to flakiness
- rename SquishDriver.type to type.text not to conflict with python's type
- add optional timeout to some APIs
- ignore error for extra step in reaching onboarding seedphrase in linux
Updates: #9576
Add Community Tokens testing UI with minting button, enabled by a Advanced Settings toggle.
Add minting module,view and needed models.
Add community_tokens service to call collectibles smart contract functions.
Issue #8921
- all remaining global popup components moved into a separate Popups
entity
- removed some static objects from the Global singleton (appMain,
pinnedMessagesPopup, communityProfilePopup, sounds); rationale:
singletons should not contain any state
- fixed support for popups in storybook
- fixed some warnings (most of them broke the popups in one way or the other)
Bumps status-go to include the fix for not fetching balance for
overridden tokens
Add documentation on how to run wallet tests locally using ganache
Closes#9091
Fixes#9210
Adds the `TEST_ENVIRONMENT` that stops banners from showing and touch id to be activated (needs to be tested by someone on Mac).
Also improves the waiting time on verifying screens. Will undo that change if it becomes flaky.
To make sure your local tests still work well and hide the banner as well, make sure to put `TEST_ENVIRONMENT=1` in the suite settings' env vars
Fixed StatusBaseButton to expose a property to load either normal
icon or a round one.
Implemented new wallet navigation according to design in Figma.
Fixed regression: small accounts icons in accounts list view.
Updated wallet test.
Fixes#8598
Updated `walletInitSteps` and `settingsSteps` properly: `settingsSteps.py` was referring to some `wallet_init_steps` methods but it was not imported. Reorganization and cleanup.
- Fixed test scenarios broken due to new user profile design.
- Added new verifications in social links: github, youtube, discord and telegram.
- Scenario statements reorganization.
Fixes#8281
For some reason stickers are not loaded for the first time. User has now
the ability to retry the loading procedure. Retry action loads stickers
successfully in most cases.
fixes: #7995
Renamed `startupSteps.py` to `commonInitSteps.py`.
Cleanup `Processes` folder (not used).
Moved `walletInitSteps.py` inside the own suite steps.
Added files flow diagram.
Closes#8353
- Added specific `bdd_hooks.py` for `tst_passwordStrength`.
- Updated `tst_passwordStrength` screenshots (now taken when input is focused).
- Restored `tst_statusLoginPassword` scenarios.
- `tst_statusSignUp` will only contain positive signup test case.
- Created new test case tst_signUpSeedPhraseNegativeCases`.
- Created new test case `tst_signUpNegativeCases` with specific `bdd_hooks.py`.
Closes#8013
- Created new test case `tst_signUpAndQuit`.
- Renamed `tst_settingsMenu` to `tst_mainSettingsSection`.
- Created specific `bdd_hooks.py` for test case `tst_mainSettingsSection` and `tst_userIdentity`.
Closes#8011
Prior to this commit we were merely checking if the message in question
was the last one.
With this commit we now check whether there's a reply in the first place
and whether the reply-to-message is the correct one.
We also distinguish whether the message we're replying to is the one
from the loggedin user (and not someone else's)
- Added steps to leave the created groups chats so the reusable accounts will keep clean.
- Replaced reusable accounts to fresh ones since there where lots of groups chats created under the existing ones.
- Added `relyon-mailserver` tag in `adminGroupChat` because it is needed a cleanup of the chat in all users (and the new created chat info is not available always due to `mailServer`).
Closes#6615
- Created `bdd_hooks` that contain the sing up steps just only once in the feature start and the needed start steps depending on the test case.
- Updated feature files removing sign up steps and given/when/then reorganization.
Closes#8026
- Created `bdd_hooks` that contain the sing up steps just only once in the feature start and the needed start steps depending on the test case.
- Updated feature files removing sign up steps and given/when/then reorganization.
- Done some cleanups and reorganization in `communitySteps.py` and `searchSteps.py`.
Closes#7955
Disabled test case since it is weak on the CI. It works standalone but when it runs as part of the sequence and mostly in the CI, the action of verification doesn't work.
To make the feature files style consistent for direct string and also use it for examples (params), it has been introduced "" to all plain strings and also into the parameters, that now will be written like this: "<example-param>": Applied on the complete `suite_messaging` and in specific statements of the `onboarding / login`.
- Reviewed `suite_messaging/tst_ChatFlow` feature: Cleanup of duplicated steps and separation of action / validation applied.
- Reviewed `suite_messaging/tst_groupChat` feature.
- Added new tag to `Jenkins` file: `relyon-mailserver`.
- Added new `StartupSteps` class to manage init / startup static methods outside bdd steps. It can be used as a util in `hooks` and `steps`.
Closes#7931
Updated `Create` and `Confirm` password views according to new design decisions taken to give consistency to the onboarding screens (related to font-size).
Updated related squish test cases: Screenshots updated with new font-size and refactored some objectNames and objects that where using `text` property instead of `objectName`.
Updated `Input` components to `StatusPasswordInput` ones.
Fixes#7447
- Created new `suite_wallet` where all related wallet tests will be migrated to.
- `tst_wallet` has been moved to new `suite_wallet`.
- `tst_transaction` has been moved to new `suite_wallet`.
Tests inside `suite_wallet` still contain some broken tests.
Closes#7627
- Created new `suite_settings` where all related settings tests will be migrated to.
- `tst_languageSettings` has been moved to new `suite_settings`.
- `tst_settingsMenu` has been moved to new `suite_settings`.
- `tst_userIdentity` has been moved to new `suite_settings`.
Tests inside `suite_settings` still contain some broken tests.
Closes#7626
- Created new `suite_communities` where all related communities tests will be migrated to.
- `tst_searchFlows` has been moved to new `suite_communities`.
- `tst_communityMessageFlows` has been moved to new `suite_communities`.
- `tst_communityFlows` has been moved to new `suite_suite_communitiesonboarding`.
Tests inside `suite_communities` still contain some broken tests.
Closes#7625
Created new `suite_messaging` where all related chat tests will be migrated to.
- `tst_ChatFlow` has been moved to new `suite_messaging`. It still contains some broken tests.
- `tst_groupChat` has been moved to new `suite_messaging`. It is now working (but it relies on the mailserver so could fail sometimes).
- `tst_statusLoginPassword` has been moved to new `suite_onboarding`.
- It has been needed to move some object definitions from `chat_names.py` to `global_names.py` since they are shared between different suites.
- Some other minor object and steps definitions have been moved to fit with the new structure.
Closes#7624
The create a group chat related objects have been updated according to new qml changes.
Now these tests are working (if they don't work it is bc of mailserver reliability).
"the user lands on the signed in app" step incorporates the following verifications (main screen is ready):
- Splash screen animation is loaded and ended.
- Banners that appear in the main screen are closed before starting other actions (secure seed phrase, connection information and update app information banners).
The gif test was manually activating the unfurling, which is no longer
necessary. Now check that enabling gifs will enable tenor unfurling
Also add a test for image unfurling and validate the unfurling image
links components and preview settings.
Also
- fix the other saved addresses that were relying on the order of
buttons and fail after adding the favourite button
- improve the rest of the tests
- improve debug buttons
- extend driver with helper functions
Closes: #6898
The test network was toggled twice. The banner was impeding with the wallet setting click. The asset list item was missing the objectName and also checking the balance was not resilient
- Added new test case `tst_passwordStrength` in `suite_onboarding` that uses squish screenshot validation.
- Added verification points (mac OS) for some password strength validations, using pixel comparison and some minor percentage of failure / color precision allowed.
Closes#7003
WIP:
- Added new global scripts folder `global_shared` where global hooks, names and steps will be stored.
- Created new `suite_onboarding` and moved existing test case related to it as a poc.
- Updated all `test.py` files to use global files and fit the new structure.
`tst_languageSettings`:
- Feature and basic scenarios definition: Change language by selection and change language by search.
- Added `StatusLanguageScreen` class and related methods to change and validate language.
`SquishDriver`:
- Added support to scroll at a specific list view index.
- Added support to directly type into a focused element.
`settings_names.py`:
- Added support for object names related to `side bar` options.
- Unified some nomenclature related to settings objects.
`LanguageView`:
- Updated to allow registering the change on Linux before the restart popup is shown so the language test can work.
Closes#6903
Note: interaction between clients is not tested here to avoid dependency
on mailserver. When mailserver is mocked more comprehensive tests should
be provided, that is: verify if identity properties are propagated
and read correctly between two different clients.
closes: #6950