Commit Graph

65 Commits

Author SHA1 Message Date
J. Ryan Stinnett
474c029db5 Fix permalink via parsing for rooms
This adjusts the app local link parsing path to better handle `via`s in query
params. Previously this path only expected them when an event ID was also
present, but it's also valid to have `via`s without event IDs as well.

Fixes https://github.com/vector-im/element-web/issues/16345
2021-02-03 15:18:19 +00:00
Michael Telatynski
54e41b5f32 fix tests 2020-11-05 16:27:41 +00:00
Michael Telatynski
965debf442 extend mockClient in testutils
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-07 00:09:48 +01:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
Hubert Chathi
908ca6b6ef add test for grouping room creation events 2020-02-13 17:25:54 -05:00
Travis Ralston
54f3288dea Fix imports for tests
This doesn't fix the fact that someone called it "peg".
2020-01-09 17:23:27 -07:00
Travis Ralston
a8c8406ac4 Merge remote-tracking branch 'origin/t3chguy/jest' into travis/sourcemaps 2020-01-09 16:06:46 -07:00
Michael Telatynski
c551f2983a Add TextualBody-test.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 13:28:29 +00:00
Michael Telatynski
da4d72b3c4 delint 2019-12-17 17:34:03 +00:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
Michael Telatynski
c3415d2121 delint 2019-12-17 12:09:01 +00:00
Michael Telatynski
6ad31fe023 30 test failures to go :D 2019-12-16 11:12:48 +00:00
Michael Telatynski
18f81d80db Initial jest stuff. Blocked on Babel 7 2019-12-13 13:43:48 +00:00
Michael Telatynski
d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Travis Ralston
99b8193ce7 Use the new ShallowRenderer over ReactTestUtils
Mostly because the ReactTestUtils renderer doesn't exist anymore.
2019-09-17 14:33:32 -06:00
Michael Telatynski
fd039431bc put maySendMessage stub on stubRoom in the right place
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-29 13:50:11 +01:00
Michael Telatynski
ac66388a7f Add missing stubs to stubRoom.currentState
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-29 13:27:49 +01:00
Michael Telatynski
f45b1bfdda Fix StubRoom for react-sdk tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-29 13:18:02 +01:00
Travis Ralston
7a3aa9be2e Remove unused identityEnabled property from ValidatedServerConfig
See https://github.com/vector-im/riot-web/issues/10229
2019-07-11 15:11:09 -06:00
Travis Ralston
ae63df95ea Fix tests to use new serverConfig prop 2019-05-03 11:34:30 -06:00
J. Ryan Stinnett
20b7debcaf Remove support for team servers 2019-01-25 16:13:30 -06:00
J. Ryan Stinnett
5fc25fd6ba Only mark group as failed to load for summary
Currently, any error in the `GroupStore`s several requests can cause the whole
`GroupView` component to hide and be mark the group as failed to load.

Since it is known that group members may fail to load in some cases, let's only
show failed to load for the whole group when the summary fails.

This also strengthens the `GroupView` test by ensuring we wait for multiple
updates for checking results.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-04 18:32:16 -06:00
David Baker
bd0a9cf3a0 Merge remote-tracking branch 'origin/develop' into dbkr/room_upgrade 2018-08-29 15:51:07 +01:00
David Baker
cb84feefa9 Add stub for getVisibleRooms()
Fixes the tests
2018-08-23 12:14:52 +01:00
David Baker
f679acea08
Revert "Revert "Fix showing peek preview while LL members are loading"" 2018-08-22 16:35:58 +01:00
David Baker
bf7633250a
Revert "Fix showing peek preview while LL members are loading" 2018-08-22 16:16:17 +01:00
Bruno Windels
db7dd8e9e8 fix tests 2018-08-22 16:02:12 +02:00
David Baker
353b6e9e6d Add stub 2018-08-17 15:15:53 +01:00
Bruno Windels
1675d3c4ba room stub not having getVersion method broke tests 2018-08-15 13:22:26 +02:00
Luke Barnard
aa370b3b67
Merge pull request #1877 from matrix-org/luke/test-room-list
Add tests for RoomList
2018-05-04 13:57:57 +01:00
Luke Barnard
3e55a45601 Mock getGroups on MatrixClient for RoomList _makeGroupInviteTiles 2018-05-03 15:24:41 +01:00
Michael Telatynski
f2102e283c
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to 2018-05-02 13:08:38 +01:00
Luke Barnard
dc20f32ad7 Move waitForUpdate to test-utils 2018-05-02 11:19:01 +01:00
Michael Telatynski
f0bd4a54e7
Refactor tests to understand sendMessage instead of send{Text,Html}Message
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-01 13:26:24 +01:00
Luke Barnard
a1c4424224 Add tests for GroupView 2018-04-27 14:28:24 +01:00
Luke Barnard
d91d1932f4 Add tests for RoomSettings
For setting:
 - name
 - topic
 - history visibility
 - power levels

Testing RoomSettings required more stubbing on the matrix client.

The power level tests should be failing at this commit, with
fixes being made in upcoming commits.

Some tests are marked as known failures that we should fix but
aren't necessarily bugs:
 - SettingStore.setValue is used when saving despite the user not
   having made a change.
 - Testing directory publicity changes cannot be tested because we
   update state asynchronously in componentWillMount (which we do
   not block on in beforeEach).

Also, we needed to use `export default` to make sure everything
uses the same client peg and client.
2018-02-28 16:07:21 +00:00
Luke Barnard
cf4ae681f4
Offline mode (#1723)
* Allow the client to run without connection to HS (i.e. using indexeddb)

Allows running without having pushRules (it's safe not to have these 
when running from indexeddb sync.)

This means rooms will be displayed with "unknown" notifcation state.

This assumes anything that uses the push rules will get pushRule state
again when the client starts syncing again.

For recovering from being disconnected, 
* If an avatar has fallen back, try again on reconnection
* If a thumbnail image failed to load, retry on reconnect
* Load joined groups when reconnecting

Update tests to give MELS a context.matrixClient
2018-02-06 17:50:53 +00:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
Luke Barnard
f7145941fd Add tests to assert correct MD mention link stripping
Tab-completed @Mentions should only be sent as display names in the `body` of the event. The HTML should be unaffected, and always sent as an anchor tag.
2017-07-24 14:42:20 +01:00
Richard van der Hoff
0254d2b3a2 q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213 replace imports of q with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
ab61b6b1b6 Use matrix-react-test-utils rather than our own impl
waitForRenderedDOMComponentWithTag is now in matrix-react-test-utils.
2017-07-11 23:14:56 +01:00
Luke Barnard
298c5e4df3 Implement a store for RoomView
This allows for a truely flux-y way of storing the currently viewed room, making some callbacks (like onRoomIdResolved) redundant and making sure that the currently viewed room (ID) is only stored in one place as opposed to the previous many places.

This was required for the `join_room` action which can be dispatched to join the currently viewed room.

Another change was to introduce `LifeCycleStore` which is a start at encorporating state related to the lifecycle of the app into a flux store. Currently it only contains an action which will be dispatched when the sync state has become PREPARED. This was necessary to do a deferred dispatch of `join_room` following the registration of a PWLU (PassWord-Less User).

The following actions are introduced:
 - RoomViewStore:
    - `view_room`: dispatch to change the currently viewed room ID
    - `join_room`: dispatch to join the currently viewed room
 - LifecycleStore:
    - `do_after_sync_prepared`: dispatch to store an action which will be dispatched when `sync_state` is dispatched with `state = 'PREPARED'`
 - MatrixChat:
    - `sync_state`: dispatched when the sync state changes. Ideally there'd be a SyncStateStore that emitted an `update` upon receiving this, but for now the `LifecycleStore` will listen for `sync_state` directly.
2017-05-24 16:56:13 +01:00
Luke Barnard
e1089574ae Write some tests for the RTS UI
Add tests that make assertions about the UI during registration when registration is done with a user recognised as a team member (by the mock rtsClient).
2017-05-17 09:46:17 +01:00
Luke Barnard
13d37e43ff Mock isGuest 2017-05-02 10:14:54 +01:00
David Baker
375ae8fb04 Fix password UI auth test
By adding a way to wait a short time for a component to appear in
the DOM, so we don't get flakey failures like this when we change
something to returning a promise that needs to resolve before the
component actually appears.
2017-03-16 17:26:42 +00:00
David Baker
51467506f8 Port registration over to use InteractiveAuth
These changes are moved over from the dbkr/msisdn_signin branch
2017-02-24 11:41:23 +00:00
Richard van der Hoff
cd1cf09dc9 Make tests pass on Chrome again
It seems that a number of the tests had started failing when run in
Chrome. They were fine under PhantomJS, but the MegolmExport tests only work
under Chrome, and I need them to work...

Mostly the problems were timing-related, where assumptions made about how
quickly the `then` handler on a promise would be called were no longer
valid. Possibly Chrome 55 has made some changes to the relative priorities of
setTimeout and sendMessage calls.

One of the TimelinePanel tests was failing because it was expecting the contents
of a div to take up more room than they actually were. It's possible this is
something very environment-specific; hopefully the new value will work on a
wider range of machines.

Also some logging tweaks.
2017-01-31 22:40:53 +00:00
lukebarnard
78e2c787e0 Refactor and document test helpers. 2017-01-18 11:53:17 +01:00
Richard van der Hoff
22757cfcd3 Inject MatrixClient into React context in tests
Now that EventTile expects MatrixClient in the context, we had better provide
it.
2016-11-14 18:22:56 +00:00