Commit Graph

72 Commits

Author SHA1 Message Date
Doug
0187ef2b82 Make sure the integration tests stop when running out of WAS retries 🙈 (#4730) 2025-11-11 12:47:09 +00:00
Doug
70713873c4 Fix the integration tests (maybe?!). (#4723) 2025-11-10 17:18:46 +00:00
Stefan Ceriu
2f599283d9 Remove the DTCoreText dependency 2025-10-28 09:53:15 +00:00
Stefan Ceriu
09bdccbc41 Remove the integration tests tapOnMenu as it's the same as tapOnButton (#4656) 2025-10-27 09:58:49 +00:00
Mauro
6160c44d67 Update copyright holding and dates (#4640)
* Update copyright holding and dates

* compound IDE Macros updated

* update copyright

* update copyrights done

* update templates and README
2025-10-21 14:34:56 +02:00
Stefan Ceriu
4e27af3c36 Fix integration tests for Xcode 26 2025-09-26 17:20:41 +03:00
Mauro Romito
15cf86b889 integration tests: support for the bottom sheet 2025-05-20 17:39:12 +02:00
Doug
405d0572c5 Fix the integration tests. (#4084)
* Fix logging/alerts during OIDC cancellation.

- Cancelling from within the web view wasn't being handled since moving the UserIndicatorController into the presenter.
- The WAS canceledLogin error code is also used when the system cancels the login. When the system cancels there's a failure reason included in the error.

* Allow UI tests to tap on any point within a view.

* Make the homeserver optional in integration tests.

* Dismiss the keyboard after entering a username to reveal the password text field.

Do the same after entering the password field too, just in case.

* Add a loop while waiting for the WAS prompt to be shown.
2025-05-01 12:07:04 +01:00
Stefan Ceriu
11ebfbd66c Fix integration tests OIDC username or email field identifier. 2025-04-15 13:15:09 +03:00
Stefan Ceriu
1c5b55d62b Integration tests: work around #3365 failures. 2025-04-14 09:51:03 +03:00
Doug
6e04be3903 Re-write integration test login for OIDC. (#3997)
* Re-write integration test login for OIDC.

* Fix integration test logout button not being visible.

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2025-04-09 08:57:31 +01:00
Doug
7b2d7652d8 Remove the unused TestMeasurementParser and lint integration tests again. (#3918) 2025-03-19 12:52:07 +00:00
manuroe
c29f4cc9b4 Dual licensing: AGPL + Element Commercial (#3657)
* New LICENSE-COMMERCIAL file

* Apply dual licenses: AGPL + Element Commercial to file headers

* Update README with dual licensing
2025-01-06 11:27:37 +01:00
Stefan Ceriu
111694f880 Fix integration tests after clearAndTypeText signature change. 2024-10-15 08:44:06 +03:00
Stefan Ceriu
0345e085a2 Re-enable the photo and document sharing flow tests 2024-09-30 11:59:08 +03:00
Stefan Ceriu
e918dc66ae Tracing and integration test tweaks (#3336)
* Disable image and document picker integration tests as they randomly fail to load and are flakey.

* Delete any pre-existing log files

* Various tracing tweaks and fixes:
- delete the custom tracing log levels as we can't control their ouput
- implement comparable on them
- change default levels only if the new chosen level increases their verbosity

* Make logging targets mandatory and fix their logging levels

* Switch back to using the `run_tests` reset simulator flag as `fastlane snapshot reset_simulators` was too generic and slow

* Switch all integration test taps to `tapCenter` (nee forceTap) after noticing missed taps on CI.

* Make the logging file prefix explicit, let the main app not use one.

* Rename tracing configuration `target` to `currentTarget`
2024-09-27 15:08:47 +03:00
Stefan Ceriu
79e3758887 Integration test improvements (#3330)
* Send a message from integration tests and check that it doesn't show up in the app logs
* Increase photo library timeout

* Wait for image tapping to process

* Send a message using the rich text editor too

* Wait for the various pickers to finish loading

* Set all logs to `trace` in integration tests

* Close formatting options after sending the second message

* Make sure logs are actually sent to tracing and get redirected to the right file

* Switch from using a custom `trace` log configuration to the lowest level `TracingConfiguration` we support
2024-09-26 10:15:09 +03:00
Stefan Ceriu
7ee1c721b4 Fixes #3146 - Remove the account migration screen 2024-09-09 12:41:28 +03:00
Stefan Ceriu
89eae00479 Switch license to AGPL (#3237)
* Switch license file to AGPL

* Update file copyright headers

* Update the default project file header
2024-09-06 16:34:30 +03:00
Stefan Ceriu
7725c73860 Stop running and publishing performance metrics to gh-pages 2024-09-05 13:49:56 +03:00
Stefan Ceriu
25d4486292 Fix integration tests
- remove the invites flow as the button visibility depends on the number of invites and invites are moving to the room list anyway
2024-05-07 16:55:39 +03:00
Stefan Ceriu
97c7f73655 Fix integration tests following room detail screens title changes. 2024-04-08 12:28:07 +03:00
Stefan Ceriu
cc4787b99f Various reliability tweaks for the UI and integration tests. 2024-04-01 12:27:54 +03:00
Stefan Ceriu
fd0eb78dbe Onboarding flow coordinator and FTUE changes (#2578)
Fixes #2595, fixes #2594, fixes #2593, fixes #2592, fixes #2591
2024-03-21 14:01:23 +02:00
Doug
0ccaa6180b Final changes for Room Moderation (#2576)
* Add confirmation that the user would like to discard unsaved changes.

* Update string on permissions screen.

* Fix UI tests and update snapshots.

* Fix integration tests.

* Run periphery for Moderation feature.
2024-03-15 13:41:23 +00:00
Stefan Ceriu
f1440e884a In preparation of FTUE changes... (#2556)
* Remove the welcome screen

* Allow the UserSessionFlowCoordinator to control the whole app hierarchy, not only its splitView

* Start using the new verification state listener

* Rename Onboarding to AuthenticationStart in preparation for the new OnboardingFlowCoordinator; update snapshots and tests

* Make the AuthenticationCoordinator a proper FlowCoordinator

* Add some padding around the authentication start screen report a problem button

* Bump the RustSDK to v1.1.49

* Only add bottom padding on the authentication start screen report a problem button
2024-03-13 11:24:48 +02:00
Doug
8942bdcfe3 Use xcresultparser in all workflows. (#2510)
* Fix integration tests.
2024-02-28 18:01:20 +00:00
Mauro
663f34b831 removed unused button check (#2498) 2024-02-26 14:00:43 +01:00
Stefan Ceriu
df18474e1f Tweak integration tests in an attempt to make them more reliable 2024-01-30 16:29:08 +02:00
Stefan Ceriu
e7ab176b40 More integration test tweaks (#2321)
* Improve integration test timings and alert handing

* Add missing `receive(on: DispatchQueue.main` on the invites screen

* Wait for photo library to load

* Disable the preferForLoop swiftformat rule and fix a couple of new warnings

* Delay invites screen snapshotting after dispatch main queue addition
2024-01-11 16:35:03 +02:00
Stefan Ceriu
dde4b6cd7e Various integration test tweaks following test homeserver and account change 2024-01-10 16:57:25 +02:00
Mauro
bc97bdeea5 Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Doug
9df3139ac7 Make the attachment menu an actual menu. (#2199)
There was a bug with the sheet/popover when overriding the colour scheme where the button renders in light mode when the app is in dark mode.
2023-12-05 11:14:16 +00:00
Stefan Ceriu
0ed753982d Fix new swiftformat warnings: convert types used for hosting only static members into enums. 2023-11-13 13:47:14 +02:00
Alfonso Grillo
920f9cca6c Enable voiceover in timeline menu (#1907) 2023-10-16 14:00:36 +00:00
Doug
5f3d0c96c1 Fix integration tests. (#1793)
There was a bug where another button existed with the same label.
2023-09-25 13:45:50 +01:00
Stefan Ceriu
4646153818 Parse markdown and html from push notifications (#1688)
* Extract notification content building outside of the NotificationItemProxy. First step in a bigger refactoring of the NSE

* Import the attributed string buider into the NSE, sort `sources` imports

* Extract message event string building into the RoomMessageEventStringBuilder and reuse it building content for push notifications

* Cleanup

* Add changelog
2023-09-13 12:30:41 +03:00
aringenbach
90545b179e Add RTE formatting buttons (#1614)
* Add RTE formatting buttons

* Update UUID as stored properties

* Disable autocorrection on URL fields

* Alert ids to let

* Add ComposerToolbar_Previews

* Cleanup

* Cleanup

* Refactor FormatItem colors

* Fix composer layout issue

* Fix ui tests

* Nest ComposerToolbar A11y ids under RoomScreen

* Add composer reply ui tests

* Add UTs

---------

Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-09-05 15:39:54 +00:00
Stefan Ceriu
61d4f9edf5 Attempt to fix attachment media in the integration tests 2023-08-29 13:18:44 +03:00
Stefan Ceriu
22a457ee82 Fix integration tests, remove attachments camera picker step, avoid camera permissions 2023-08-29 11:31:27 +03:00
Stefan Ceriu
a5562c0270 Check more screens in the integration tests. Refactor flows 2023-08-28 11:41:37 +03:00
Stefan Ceriu
b037368a4f Split up the tests into performance tests that are measured, and user flow tests that access more screens and aren't 2023-08-25 13:33:06 +03:00
Stefan Ceriu
4570752c76 Fix MeasurementParser's signpost metrics following previous refactor 2023-08-24 18:36:46 +03:00
Stefan Ceriu
c7b3c4c21c Go through more screens in the integration tests 2023-08-24 18:36:46 +03:00
Doug
b55cbae8f4 Specify ElementX target for coverage in integrations plan. (#1398) 2023-07-27 16:03:26 +01:00
Michael Kaye
a1b66c170f Performance tests (#1301)
* Add signposts to performance tests.

- Update flow to include support for the migration screen.

* If the welcome screen shows, click on the button.

* Ensure a clean simulator each run.

* Add accessibility identifier for migration screen if required.

* Handle walking into the room and back out again.

* use iphone 14 pro to match what's used in xcode.

* Remove ApplicationTests as duplicated in LoginTests.

We measure app startup time in LoginTests as part of the flow - we may as well avoid spending 60s doing only that measurement in ApplicationTests

* Sleep 10s, the ui is otherwise showing up in random order.

* Revert "Remove ApplicationTests as duplicated in LoginTests."

This reverts commit 8670710315bcd0d6c3c3046f534b32b4c728b837.

* Update script to parse out correct values from results file.

* Allow cancellation of password prompt in any order.

* Remove test timeout, performance tests will always take a while.

* Adjust parsing further

* Remove ApplicationTests.

* Move to a more elegant way to wait for something to disappear.

* Linting.

* Fix unit tests.

---------

Co-authored-by: Doug <douglase@element.io>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-11 10:32:24 +01:00
Michael Kaye
aa748448a1 Stop asserting integration test run time & move to performance testing runner. (#1132)
* Stop asserting integration test run time.
* Move integration testing to the perf runner.
2023-06-23 13:44:33 +01:00
Doug
7c4d0631df Server Confirmation Screen (#959)
* Add ServerConfirmationScreen.
2023-05-30 10:31:18 +01:00
Mauro
79b9f54a66 Fixing Tests for Xcode 14.3 (#888)
* settting macOS to 13, and let's runa test of... the tests

* I want the artifacts of the test, might give me some more insight in Xcode

* archive artifact

* trying a thing with the xcode version

* push notifications alert makes this test fail

* test improvement

* let's try with a very long time

* let's disable autocorrection

* sleep

* 1 seconds fixed 90% of the issue, 2 should fix 100%

* waiting some more time in flaky tests and updated the content of a test that was failing

* updated a screenshot test that had a notification

* this integration test is a bit so flaky increased the timing

* controlled delay waited a bit moe for the timeline to settle

* try await

* MainActor everywhere

* milliseconds fix

* trying with a bit more waiting time after the tap and a slow velocity for the swipe

* let's try waiting more time
2023-05-15 13:42:40 +00:00
Stefan Ceriu
94cfaeeaa0 Structured logging (#831)
* Structured logging support

* Bump the SDK, fix breaking changes

* Enabled more logging of timeline diffs

* Keep only source file last path components in logs

* Bump the SDK, tweaks following code review
2023-04-25 14:48:20 +03:00