2aa759adcf
Part of #3364 To make the drag and drop reorder work correctly on channels, we needed to change the model again so that it was sorted in the model itself. That is because the drag and drop gives us the value of the position it is dropped to as a single list, so dragging the second item of the second category would mean from position 5 to position to position 4, but what the backend wants is moving the item 2 to position 1. Sorting the model enables us to get the category that is the parent of that position and call the service with the right positions and id. It also enables us to reorder the channel in and out of the category. See the module code to see how the calculation is done with an explanatory comment. The model needed some changes to support that. Some of the function where changed from dataChange calls to resetModel calls, since we need to re-sort the model. I tried using beginMove, but it would crash. Maybe there is a bug in NimQML or I used it badly, I'm not sure. |
||
---|---|---|
.. | ||
doc | ||
fixtures | ||
src | ||
testSuites | ||
.gitignore | ||
README.md |
README.md
status-desktop-ui-test
UI test application for Status Desktop
- Test automation project that uses Squish as a testing tool with BDD.
- Information about its architecture can be found in wiki.
Preparing the environment to develop and run tests
- Install Squish and run its IDE.
File / Open Test Suite
and browse totestSuites
directory.- Once the suite is open, click
Test Suite Settings
button to configure the AUT (Application Under test).- Select
AUT tab
and browse until the correspondingstatus-desktop\bin\nim_status_client
binary is set. - Uncheck
Automatically start the AUT
option (if it is already checked). - Save changes.
- Select
Now you should be able to create new suites, test cases and run the existing ones just only by clicking Run
buttons!!
Here a more detailed installation guide specific for this project.
Squish versions tested
Status APP Qt version | Squish version | Squish Qt version | Local macOS Monterey 12.3.1 | CI |
---|---|---|---|---|
5.14.2 | 6.7.2 | 5.14 | OK | OK |
5.15.2 | 6.7.2 | 5.14 | OK | OK |
5.15.2 | 7.0.1 | 5.15 | KO | KO |
5.15.2 | 7.1.0 | 5.14 | KO | KO |
5.15.2 | 7.1.0 | 5.15 | KO | KO |
5.15.2 | 7.1.-20230222-1555 (SNAPSHOT) | 5.15 | OK | OK (manual extension removal*) |
NOTE 1: KO means the test execution hangs on squish.waitForObject()
or squish.findObject()
. Seen this behaviour particularly in Onboarding / Create Password Screen
.
NOTE 2: The 7.1-SNAPSHOT
version for linux
needs a manual interaction (if not the app crashes when the test execution starts). It is needed to rename library in:
SQUISHDIR\lib\extensions
squishqtwaylandcompositor.ext
to
squishqtwaylandcompositor_off.ext
Last status app tested: Master branch - Commit: d31acbfb48fe7027657a08c648836d9a8f11240c