Commit graph

120 commits

Author SHA1 Message Date
ClaireG
c9bd1f32b9
Update notifications rules: make a sound for each notification 2022-05-05 14:02:11 +02:00
Benoit Marty
8602cbba7a Fix test 2022-05-03 17:43:00 +02:00
Valere
f57e20c73c make grace period configurable and reduce test duration 2022-05-02 17:19:08 +02:00
Valere
d0bff5000c Fix UISIDetector grace period bug 2022-05-02 10:10:29 +02:00
Adam Brown
cd52df5d2e
Merge pull request #5785 from vector-im/feature/adm/ftue-step-ordering
FTUE - Registration step ordering
2022-04-28 09:33:08 +01:00
Benoit Marty
0092a7057e Access the various services with a getter 2022-04-25 09:49:51 +02:00
Adam Brown
2d7b71f70d extracting stage ordering to its own class with test 2022-04-19 12:30:33 +01:00
Adam Brown
5001be9f21 adding test around editing error flow and reducing initial test state setup boilerplate 2022-04-14 11:05:02 +01:00
Benoit Marty
0720196ee6 Move CryptoDeviceInfo to api package 2022-04-12 15:38:20 +02:00
Adam Brown
6304d5dc93 creating a common type for the edit/selecting of homeserver urls to avoid duplication in the model 2022-04-08 13:16:29 +01:00
Adam Brown
21102a2f9f renaming homeserver url properties to better define their content 2022-04-08 13:16:29 +01:00
Adam Brown
8b2e2a16e2 adding tests around the editing of the homeserver url 2022-04-08 13:16:29 +01:00
Adam Brown
f34df3997d extracting the authentication start logic to a dedicated use case
- moves some of the homeserver specific state to the selectServer model
2022-04-08 13:16:29 +01:00
Benoit Marty
0fe3cc3acc
Merge pull request #5663 from cketti/fix_openOutputStream
Use truncate mode to replace the contents of existing files

`ContentResolver.openOutputStream(Uri)` does not truncate existing files. If the amount of data written is smaller than the file size, you end up with new data at the beginning of the file followed by old data at the end of the file.
2022-03-31 09:56:32 +02:00
cketti
29c7ea11bd Create extension function Context.safeOpenOutputStream 2022-03-30 15:38:40 +02:00
Adam Brown
9d3d574d28
FTUE - Finalising personalisation journey (#5519)
* enabling the personalisation flow and promoting the strings for translation

* delegating the fake vector features to the static defaults, the fake exists for allowing overrides when needed

* incorporating the personalisation screens into the UI test signup

* adding changelog entry

* removing unused import

* putting the personalisation UI test flow behind the feature flag so that we can keep it disabled

* disabling the personalisation flow, we'll batch enable with other parts of the FTUE flow

* enabling the personalisation feature for registration unit tests which expect it to be enabled
2022-03-30 09:09:46 +01:00
cketti
b9b5cab772 Use truncate mode to replace the contents of existing files
`ContentResolver.openOutputStream(Uri)` does not truncate existing files. If the amount of data written is smaller than the file size, you end up with new data at the beginning of the file followed by old data at the end of the file.
2022-03-29 18:57:22 +02:00
Adam Brown
cfb3aa8a22 adding direct login error path tests 2022-03-25 11:15:05 +00:00
Adam Brown
230c37597c adding happy path tests for the direct login use case 2022-03-25 11:15:05 +00:00
Adam Brown
88197991e1 extracting the direct login logic to its own use case along with viewmodel test case
- will ensure we emit account sign in when going via direct login flow
2022-03-25 11:15:05 +00:00
Adam Brown
373385b29f moving the not accepting registration error handling to the login fragment 2022-03-23 17:29:06 +00:00
Adam Brown
2227df479c replacing async login/register state with separate failure view event and shared isLoading 2022-03-23 17:20:47 +00:00
Adam Brown
e3df9c4cef using isLoading boolean instead of stateless async result for the display name and profile picture updates 2022-03-23 16:48:07 +00:00
Adam Brown
fdf3cc36ce fixing view model tests not collecting flow results
- the switch from runBlockingTest to runTest means we need to provide a separate scope from the test in order to asynchronously collect the flow results
2022-03-22 17:01:34 +00:00
Benoit Marty
012cdf4b4d runBlocking -> runTest
https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-test/MIGRATION.md
2022-03-22 16:52:18 +01:00
Benoit Marty
86829008c3 runBlockingTest -> runTest
https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-test/MIGRATION.md
2022-03-22 16:39:39 +01:00
Adam Brown
ce2c309d72 including verification to ensure no other methods are being called 2022-03-18 14:00:56 +00:00
Adam Brown
7f943d37fd explicitly declaring the fake registrationb wizard as not relaxed and creating new test instances for each case 2022-03-18 13:15:14 +00:00
Adam Brown
ba76aac965 removing unused fake helper methods 2022-03-17 16:54:51 +00:00
Adam Brown
d514751ffd avoiding shadowed lambda parameters 2022-03-17 16:52:37 +00:00
Adam Brown
5df2ae9ae2 updating with previous state helper and including javadoc to help explain its usage 2022-03-17 16:50:20 +00:00
Adam Brown
3d20d46eb3 enabling the personalize step for the unit tests preemptively for the feature to be enabled 2022-03-15 17:49:44 +00:00
Adam Brown
fe206fe130 fixing wrong action for starting the sign up 2022-03-15 17:49:44 +00:00
Adam Brown
694016fc16 adding test case for the non loading registration steps 2022-03-15 17:49:44 +00:00
Adam Brown
390ae4344d allowing test withPrevious to be supplied a list 2022-03-15 17:49:44 +00:00
Adam Brown
804513c808 adding case for result ignoring register actions 2022-03-15 17:49:44 +00:00
Adam Brown
75cbb727a4 cleaning up test names and bodies to be clearer 2022-03-15 17:49:43 +00:00
Adam Brown
b2a1aa17bd adding commas to separate the test name sections 2022-03-15 17:49:17 +00:00
Adam Brown
3fa415007c extracting registration steps to separate handler to make testing the flow simpler 2022-03-15 17:49:16 +00:00
Adam Brown
4225f62120 adding test helper for asserting states whilst combining previous updates 2022-03-15 17:42:42 +00:00
Maxime Naturel
094e62c95b Adding unit tests for use case 2022-03-15 17:09:31 +01:00
Onuray Sahin
1a76914828
Merge pull request #5345 from vector-im/feature/ons/fix_unstable_prefixes
Support both unstable and stable prefixes
2022-03-15 15:16:16 +03:00
Adam Brown
c84ce5a2e0 making use of the fake overrides for testing 2022-03-14 11:54:42 +00:00
Adam Brown
4b9b177104 forwarding to the profile picture flow when display name changing isn't supported but pictures are when personalising the profile 2022-03-14 11:54:42 +00:00
Adam Brown
b5778bd6c5 formatting 2022-03-14 11:54:42 +00:00
Adam Brown
716928d9d2 dynamically switching the onboarding flow based on the capabilities of the homeserver
- when avatars can't be changed we complete the personlisation flow
2022-03-14 11:54:42 +00:00
Adam Brown
a033243475 adding test around account creation via dummy 2022-03-14 11:54:42 +00:00
Adam Brown
10e4fd1707 updating upstream avatar on profile picture save and continue step
- moves the personalisation state to a dedicated model to allow for back and forth state restoration
2022-03-14 11:54:42 +00:00
Benoit Marty
20c1886fed Support both unstable and stable prefixes.
Author: Onuray
2022-03-09 10:40:43 +01:00
Adam Brown
9a02543afd
FTUE - Choose a display picture (#5323)
* adding tests around the onboarding view model
- cases for the personalisation and display name actions

* adding base choose name fragment with UI

* add click handling for the display name actions

* adding tests around the onboarding view model
- cases for the personalisation and display name actions

* adding barebones profile picture fragment with ability to select a user avatar

* extracting uri filename resolving to a class which can be injected
- includes tests

* updating upstream avatar on profile picture save and continue step
- moves the personalisation state to a dedicated model to allow for back and forth state restoration

* adding test case for skipping profile picture setting

* taking the profile loading into account when rendering the onboarding loading

* extracting method for the handling of the profile picture selection

* adding dedicated camera icon for choosing profile picture

* adding toolbar to back to profile picture page
- this toolbar will fade in with the fragment as it sits at the fragment level, probably worth revisiting once more pages have a toolbar

* changing edit/add picture icon based on if we're already selected an image

* making use of debounced clicks to avoid potential extra clicks

* making the avatar height and camera icon relative percentage based
- also makes the avatar itself clicking, including a foreground ripple

* fixing formatting

* making use of fake session id for user id assertion

* using a real  matrix id syntax for the fake session user id

* removing duplicated dimens

* using self closing imageview tag
2022-03-07 14:07:22 +00:00