Commit Graph

132 Commits

Author SHA1 Message Date
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