Commit Graph

1050 Commits

Author SHA1 Message Date
Stefan 6e78281d99 test(FavouriteSavedAddresses/Wallet): test toggle favourite for saved addresses
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
2022-09-12 16:00:31 +02:00
Anthony Laibe ba4aac6456 feat: make screenshot test easy to add between steps 2022-09-02 10:45:23 +02:00
Igor Sirotin 66b79fbda8 tests: Can change own display name in ProfilePopup 2022-09-01 15:31:50 +03:00
Boris Melnik f4b4ec341e fix(tests): Fix emoji autoreplace test 2022-09-01 02:02:27 +03:00
MishkaRogachev 2d873db153 test(community): Fix community categories tests 2022-08-31 14:41:35 +03:00
Igor Sirotin 41910c9a8a fix(tests): Fixed message reply test 2022-08-30 17:03:36 +03:00
Jonathan Rainville 6bd1cfde72 test(chat): add a test that install a sticker pack and sends a sticker
Fixes #6962
2022-08-29 10:52:00 -04:00
Jonathan Rainville 2bbd9f4363 fix(wallet-test): fix balance test
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
2022-08-26 10:59:25 -04:00
Jonathan Rainville 109b9ac290 test(community): add a test that pins and unpins messages
Fixes #6894
2022-08-26 10:29:28 -04:00
Boris Melnik 2ef6e04b0a test(chat): Emoji autoreplace
Closes: #7019
2022-08-26 12:57:12 +03:00
Boris Melnik 02b9ceff78 fix(EmojiPopup): Fix emoji suggestions and add tests for it
Closes: #7020
2022-08-26 12:41:28 +03:00
Boris Melnik 10d53454b3 test(chat): Can send a gif
Closes: #6882
2022-08-26 12:18:42 +03:00
Boris Melnik c7efbe6629 test(chat): Can edit a message and save
Closes: #6877
2022-08-26 11:57:59 +03:00
Jonathan Rainville 6a603413c6 test(community-chat): add test to send images in chat
Fixes #6880
2022-08-25 10:23:43 -04:00
Boris Melnik 7b77973b86 test(chat): Can clean chat history
Closes: #6876
2022-08-25 15:17:52 +03:00
Patryk Osmaczko 3aaa0fda13 test(@desktop/chat): add scenario for chats order
covers: #6634
2022-08-24 17:12:47 +02:00
Khushboo Mehta 8eb328bae7 fix(@desktop/sugnup): Profile omage chosen during signup sould be saved for the user and squish test for the same
fixes #6861
2022-08-24 11:21:16 +02:00
Jonathan Rainville 464476d135 test(search): add test for the search feature
Fixes #6885
2022-08-23 13:44:23 -04:00
Khushboo Mehta 29c40a0695 fix(@desktop/wallet): Added squish test for the user being able to turn his state to online and/or offline
fixes #6895
2022-08-23 15:48:37 +02:00
Stefan f2615e3cef tests(Settings): Can backup seed phrase
Added debug helpers found useful in debugging while implementing squish
tests

Closes: #6902
2022-08-23 15:17:36 +02:00
Khushboo Mehta 289209f7ec fix(@desktop/profile): Can set own online state to online, offline
fixes #6895
2022-08-23 14:26:42 +02:00
Noelia 10f34d0610 test(onboarding): Screenshot based testing POC, validating password strength
- 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
2022-08-23 12:07:36 +02:00
Noelia fcfcafaac0 test(chore): Refactor that will allow to work in different test suites
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.
2022-08-23 12:07:36 +02:00
MishkaRogachev f45275bb1a test(community): refactor and improve categary relates test cases 2022-08-22 13:25:33 +04:00
MishkaRogachev 9bbbe15d6c test(community): add a test that edits a community category
Close #6888
2022-08-22 13:25:33 +04:00
Jonathan Rainville ae339f796b fix(community-test): fix community test not finding the nav bar 2022-08-19 09:39:53 -04:00
MishkaRogachev 48b7f1c277 test(community): add a test that deletes a community category
Close #6750
2022-08-18 15:33:37 +04:00
Anthony Laibe ade9086b81 test(@wallet): add test for ens name 2022-08-18 13:11:36 +02:00
Anthony Laibe c721bdc2a4 test(@wallet): Add test for toggling network & balance 2022-08-18 13:11:36 +02:00
Noelia b06bae0d4e test(Settings/Language): Can change language
`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
2022-08-18 11:28:55 +02:00
Jonathan Rainville 016e3927f2 test(chat): add test that sends a message with an emoji
Fixes #6881
2022-08-17 11:33:36 -04:00
Patryk Osmaczko aeb64e2029 test(settings/profile): test bio and social links
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
2022-08-17 13:18:32 +02:00
MishkaRogachev 9e811838e8 test(community): add a test that creates a community category
Close #6752

test/ui-test/testSuites/suite_status/shared/scripts/sections/community_names.py
2022-08-16 20:57:12 +04:00
Jonathan Rainville 3d2d48a705 test(tags): add ignore tags to tests that have a chance to fail 2022-08-16 10:22:20 -04:00
Stefan 057c0ee1c9 test(Communities): can change the emoji of a community channel
Closes #6887
2022-08-16 14:18:16 +02:00
Stefan e33fdafc68 test(Settings) leave community
Also add option to retrieve multiple objects with the same "Real Name"
and other required helpers

Closes: #6886
2022-08-16 14:03:59 +02:00
Noelia 1334fbb5f4 test(chat): Can do a mention in a chat
`tst_chatFlow`:
- Commented out bc of `mailserver` issues and then weak.
- Added basic test scenario for sending a mention in a public chat with needed validations.
- Added basic test scenario to check a mention cannot be done if it is a non existing user.

`StatusChatScreen` updates:
- Updated join room method to validate the chat is loaded.
- Added methods for doing and verifying a mention.

`SquishDriver` updates:
- Added support in `SquishDriver` to click into a link in a text or label component.
- Minor function renames.

Closes #6879
2022-08-16 13:42:56 +02:00
Stefan 5fb4c7f110 test(community): delete community channel
Also adds  verify_equal helper function

Fixes #6751
2022-08-16 11:51:20 +02:00
Khushboo Mehta 210d5ca2eb fix(@desktop/wallet): Can see collectibles for an account
fixes #6896
2022-08-15 11:53:17 +02:00
Khushboo Mehta e9e0161e3c fix(@desktop/wallet): Add Squish test for edit account
fixes #6754
2022-08-12 18:42:31 +02:00
Jonathan Rainville 25feb98190 test(wallet): comment out balance test since it relies on Infura 2022-08-11 15:43:20 -04:00
Sale Djenic 86a06c9ef9 test(@desktop/general): can quit app by going to settings -> quit
Fixes: #6905
2022-08-11 21:39:34 +02:00
Anthony Laibe 2f7e6998bf test(@wallet): Add test for toggling network & balance 2022-08-11 14:09:07 +02:00
Jonathan Rainville 44cf440a05 test(community): add a test that edits a community
Fixes #6756
2022-08-10 16:24:26 -04:00
Anthony Laibe 1b6fc3b266 test(@wallet): fix test on CI 2022-08-10 20:56:01 +02:00
Jonathan Rainville 1dd6385cae test(all): fix all remaining tests and comments the broken ones
Fixes #6853
2022-08-09 16:51:30 -04:00
Anthony Laibe 7aa7e01f36 test(@wallet): fix broken test on wallet 2022-08-09 10:34:43 +02:00
Jonathan Rainville 9591123b7e test(onboarding): fix signup with seed phrase tests
Fixes #6744
2022-08-05 12:41:30 -04:00
Stefan 7cf0170a8a chore(CPP): integrate tokens balance in UI POC
Integrate token count in UI
Use delete later for QML exposed items to avoid errors

Closes #6321
2022-08-05 10:40:04 +02:00
Anthony Laibe 3fad95ea0e test(@general): run squish test on ci 2022-08-05 10:11:42 +02:00
Anthony Laibe c3e345445c test(@wallet): edit/delete saved addresses 2022-08-05 09:43:05 +02:00
Anthony Laibe 683bdb2da4 test: refactor names.py
split wallet secction into multiple files
2022-08-05 09:43:05 +02:00
Anthony Laibe a51c25e90e test(@wallet): test add saved address
fixes #6761
2022-08-05 09:43:05 +02:00
Jonathan Rainville 03f1fe500b test(chat): add test to delete messages
Fixes #6757
2022-08-03 13:19:32 -04:00
Jonathan Rainville 8b4ceec773 test: cleanup names.py and structure it + some fixes to onboarding tests
Fixes #6539
2022-08-03 13:08:32 -04:00
Anthony Laibe 03b3b0c6f5 test(@wallet): send transaction 2022-08-03 09:45:55 +02:00
Anthony Laibe d4a02bb4c4 feat(@test): Add test for watch only account 2022-08-03 09:45:55 +02:00
Jonathan Rainville b43d773a57 test(chat): add test to mark as read
Fixes #6671
2022-08-02 10:34:02 -04:00
Jonathan Rainville ed1f189a69 test(chat): add test to reply a message
Fixes #6670
2022-08-02 10:22:08 -04:00
Stefan 0ba35d3812 chore(CPP): integrate tokens balance status-go API (POC)
Exposes status-go API for retrieving networks and tokens
Tests for the exposed API
Introduced boost for the multiprecision library and 256 bits support
for balance.
Update build instructions

Updates: #6321
2022-08-02 16:06:33 +02:00
Stefan d5afd6beac chore(CPP): Create new wallet accounts - POC UI
The UI is for demo purposes. Also architecture decisions are open for change

Closes: #6321
2022-08-02 15:30:08 +02:00
Anthony Laibe 0ad221f17f fix(@build): fix windows build 2022-08-01 13:36:46 -04:00
Jonathan Rainville 5fe0005e2b fix(chat-test): fix ChatFlow test that blocked because of the inputs 2022-08-01 10:25:16 -04:00
Noelia 7b4802db83 test(CreateGroupChat): Create Group Chat
- Created new test case with basic create group chat scenario.
- Added specific data folder for `tst_groupChat`.
- Removed deprecated data folder.
- Added dynamic login (depending on the account).
- Added global account information in `suite_status/data` folder.
- Added new group chat validations, title, history texts, members added and send chat message.
- Replaced some ids by objectNames.
- Some improvements in `names.py`.
- Onboarding objects refactor.

Fixes #6444
2022-07-28 14:21:32 +02:00
Jonathan Rainville 3f10da868a test(community): add test for the right click menu to create channel
Fixes #6609
2022-07-27 10:40:56 -04:00
Jonathan Rainville 16aa4a57f8 test(community): add test that edits the community channel name
Fixes #6534
2022-07-25 13:20:10 -04:00
Jonathan Rainville 8e96e6879c test(community): add test that creates a community channel
Fixes #6533
2022-07-25 13:07:46 -04:00
Jonathan Rainville 1dfd1539f2 test(community): add e2e test that creates a community
Fixes #6445
2022-07-22 11:19:10 -04:00
Anthony Laibe 46f82f2c5e feat(@test): Add test for delete account 2022-07-22 09:20:55 +02:00
Anthony Laibe 499b9bd09e feat(@test): Add test for watch only account 2022-07-22 09:20:55 +02:00
Stefan 16b866ccbd chore(CPP): Enhance type safety using phantom types
Important changes:

- Converted the easy to mix strings to named types as phantom types
- Renamed `AccountDto`s to `MultiAccount` to better match the status-go
domain knowledge.
- Renamed MultiAccount to ChatOrWalletAccount to better match its multi
purpose and don't confuse with the MultiAccount domain knowledge.
- Remove libs/CMakeLists.txt

Note: Tried to use the fluent::NamedType but it doesn't work with
nlohmann_json, gave up finding why. Therefore I extracted only
the needed functionality for the simple types we use.

Updates: #6321
2022-07-19 16:56:06 +02:00
Stefan 1983443608 chore(CPP): Test basic functionality for wallet status-go wrapper API
Considerations

- MultiAccountStoreAccount is required for generating a new account.
  MultiAccountStoreDerivedAccounts won't be enough even that it works
  for creating initial account and login code
- Validate the understanding that `rootAccount.address` is `walletAccount.derivedFrom`

Updates: 6321
2022-07-18 17:40:59 +02:00
Anthony Laibe 5c53cca9f8 fix(@test): linux test run 2022-07-15 15:03:25 +02:00
femi 971d12ff42 Update Settings NavBar
Update FileManager
Update ObjectMapper
2022-07-15 09:27:51 +01:00
femi 6604a0a94d Update Status ICon 2022-07-15 09:27:51 +01:00
femi 4391d616b6 Update trailing spaces
Update UI component mainWindow_Password_textField
2022-07-15 09:27:51 +01:00
femi f415e4ae3a Update trailing space 2022-07-15 09:27:51 +01:00
femi dde483fd96 Update trailing space 2022-07-15 09:27:51 +01:00
femi 3bdba429e3 feat(@DesktopApp): Login- 12, 18, 24 Seed Phrase
https://github.com/status-im/status-desktop/issues/6274
https://github.com/status-im/status-desktop/issues/6275
https://github.com/status-im/status-desktop/issues/6276

Login for 12, 18 and 24 seed Phrase
2022-07-15 09:27:51 +01:00
femi 00dc09fb18 feat(@DesktopApp): Login- 12 Seed Phrase
https://github.com/status-im/status-desktop/issues/6274

Login for 12 seed Phrase
2022-07-15 09:27:51 +01:00
Stefan a710558c6b chore(CPP): foundation for user onboarding
Contains minimal account creation and login

Considerations:

- migrated status-go wrapper and login code from the fix/cpp-structure (241eec)
- Minimal refactoring and changes at the moment. Expect further refactoring
follow up to reach the desired state.
- Fix missing keychain initialization
- Fix accounts DB initialization call done by startup -> Controller.openedAccounts -> status-go.OpenAccounts calls
- Small refactoring and todos for other steps
- fix SignalsManager
- fix async access to dereferenced status-go memory from SignalsManager
- fix SignalsManager not starting when registering
- finish dev end to end test for create account and login
- small improvements and added TODOs for future work
- add onboarding test helpers and start messaging test
- Refactoring towards Login UI integration

Closes: #5909
Closes: #6028
2022-07-07 23:23:09 +02:00
Stefan 1e8c851283 chore(CPP): Basic project configuration setup using Qt6
Considerations

- Use versioned files. Versioned Qt CMake APIs are disabled to force explicit calls and say that we don't support older `QT`s
- Don't use blobbing. Use `target_sources` and `qt_target_qml_sources`
- Distribute `CMake` definitions closer to the context: main folders with their own `CMakeLists.txt`
- Everything in libraries under `Status` namespace for cleaner code.
- Includes are exposed with Module folder externally and without prefix internally
- File/Folders name matches definitions they contain for uniformity that leads to cleaner code
- All source files (cpp, qml, js ...) have to be added to one of the CMakeLists.txt files to be tracked by CMake build system.
- Use BUILD_DEBUG, BUILD_RELEASE and BUILD_DEVELOPMENT variables from Helpers library
- Avoid Include directories. Not needed anymore CMake `target_*` APIs handles this through `INTERFACE`, `PUBLIC` and `PRIVATE` scope identifiers
- `StatusQ` is meant to be compiled as an external library, therefore StatusQ tests are kept inside its own directory
- Forced CMake version to `3.21` for the latest features and fixes. It is desired to be kept as recent as possible due to its backward compatibility. Following Qt's shipped version might be an option
- Depends on status-go changes to allow forcing of arm for apple silicon

Found limitations to CMake Qt API with Qt 6.3

- Having `0` as major version when using `qt_add_qml_module` doesn't work. Qml engine reports loading the `qmldir` but won't load the plugin library and no error is reported outside that exposed types are not found.
- `qt_target_qml_sources` doesn't work now, it generate a double copy error when deploying qml files in bin-directory. For now we stick with adding files using `qt_add_qml_module` central place
  - Need to add `OUTPUT_DIRECTORY` to `qt_add_qml_module` to use the workaround
- If `MACOSX_BUNDLE` target property is set breaks importing of QML files. Disabled until fixed or workaround found
- For an unknown reason application executable tries to include the `QML_ELEMENT` include files, therefore for now I include all the C++ qml elements in INTERFACE
2022-06-30 12:16:33 +02:00
Anthony Laibe 49b592daa3 chores: add typing to ui-test 2022-06-30 09:28:37 +02:00
femi 46d47e3746 feat(@DesktopApp): Refactor Login Steps
https://github.com/status-im/status-desktop/issues/6101

Refactor Login Steps
2022-06-23 13:47:11 +01:00
femi 02e63a5eee feat(@DesktopApp): Refactor Login Steps
https://github.com/status-im/status-desktop/issues/6101

Refactor Login Steps
2022-06-23 13:47:11 +01:00
femi a19b17aeac feat(@DesktopApp): Refactor Login Steps
https://github.com/status-im/status-desktop/issues/6101

Refactor Login Steps
2022-06-16 22:30:44 +01:00
femi 6d497582b1 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 9a7eae6ab0 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 937d9d7d09 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 304fe07214 feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 3c81a9dcfc feat(@DesktopApp): Basic Chat Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include Basic chat Scenario
2022-06-10 13:41:26 +01:00
femi 1696fec9db feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 88a7a5f3f7 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi edc48d2168 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 314327f479 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 734ad54c47 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718

Include script to erase data file before each test
2022-06-01 09:47:13 -04:00
femi 2be85fd6a5 feat(@DesktopApp): SignUp Scenario (Squish Test)
Ticket: https://github.com/status-im/status-desktop/issues/5718
2022-06-01 09:47:13 -04:00
Noelia 4790f7b4c5 chore(ui-test): Added data folder
Added specific data folder for login test (PoC).
2022-05-10 15:16:33 +02:00
Noelia 78f6df4d06 feat(uiTest): Data changes to fit new display name req. 2022-04-25 08:21:51 -04:00
Noelia 57b731198f chore(ui-test): First-approach
Add basic layered architecture and basic test suite (status login).
2022-03-31 16:02:57 -04:00