Commit graph

185 commits

Author SHA1 Message Date
Robin Townsend
0f64f4d692 Fix MessagePanel tests
Signed-off-by: Robin Townsend <robin@robin.town>
2021-06-05 10:49:44 -04:00
Šimon Brandner
6eb33ac730
Merge remote-tracking branch 'upstream/develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-04 07:49:05 +02:00
Germain
7f83590846
Merge pull request #6079 from matrix-org/gsouquet/switch-rooms 2021-06-03 08:44:01 +01:00
Šimon Brandner
1c92e31683
Add missing license header
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-02 19:27:57 +02:00
Šimon Brandner
e0572acb14
Write tests for CallEventGrouper
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-02 19:22:22 +02:00
Michael Telatynski
f11a7083ae Switch to stable endpoint/fields for MSC2858 2021-06-01 11:01:09 +01:00
Germain Souquet
c428736191 Update MessagePanel test to account for new DOM structure 2021-05-21 14:59:26 +01:00
Travis Ralston
379d19e2e0
Lint 2021-05-10 19:56:30 -06:00
Ayush PS
2ad0032f72 Added regression tests for Natural headers 2021-05-09 01:10:54 +05:30
Ayush PS
d1f23fb994 Partially added the tests [WIP] 2021-05-07 11:45:52 +05:30
Travis Ralston
6ab235f10c Fix tests for new call path
We have to mock `fetch` for the caching of the download icon, and then mock out all the function calls used by components to feed a Media object.
2021-03-11 09:42:55 -07:00
Travis Ralston
533c9fed64 Appease the linter 2021-03-10 12:32:18 -07:00
Travis Ralston
0dd4d45c49 Disable velocity mock option
This appears to have been removed in the beta
2021-02-26 22:36:42 -07:00
Michael Telatynski
2142a65a9b delint 2020-12-16 10:46:39 +00:00
Michael Telatynski
4c2b6f410b fix tests 2020-12-16 10:41:56 +00:00
Michael Telatynski
1b1c482f9c Iterate tests 2020-11-25 10:22:16 +00:00
Michael Telatynski
4997676f5d fix last remaining broken test 2020-11-05 16:57:51 +00:00
Michael Telatynski
ae2d9941ff fix more tests 2020-11-05 16:54:25 +00:00
Michael Telatynski
54e41b5f32 fix tests 2020-11-05 16:27:41 +00:00
Michael Telatynski
72498df28f Remove create-react-class 2020-08-29 12:14:16 +01:00
J. Ryan Stinnett
86f39ee0ee Fix read marker visibility for grouped events
The recent "groupers" which extracted out timeline grouping logic forgot to
pass through the last event state for read marker computation. This causes the
read marker to become visible when e.g. returning to room if it was last placed
inside a grouped set of events (currently room creation and membership events).

Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/4059
Related to https://github.com/vector-im/riot-web/issues/12338
2020-04-03 01:14:31 +01:00
Hubert Chathi
908ca6b6ef add test for grouping room creation events 2020-02-13 17:25:54 -05:00
Travis Ralston
1e70af00a3 Fix GroupView test
It was counting the wrong number of updates for reasons I don't understand.
2020-01-13 20:15:58 -07:00
Travis Ralston
a8c8406ac4 Merge remote-tracking branch 'origin/t3chguy/jest' into travis/sourcemaps 2020-01-09 16:06:46 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Michael Telatynski
937b32663c Migrate away from Legacy React Contexts 2019-12-17 17:26:12 +00:00
Michael Telatynski
409a111b02 wait additional tick 2019-12-17 12:42:47 +00:00
Michael Telatynski
ab3fb6581b Down to 7 test failures 2019-12-17 11:24:37 +00:00
Michael Telatynski
0041dae664 26 test failures to go :D 2019-12-16 11:55:01 +00:00
Michael Telatynski
6ad31fe023 30 test failures to go :D 2019-12-16 11:12:48 +00:00
Michael Telatynski
ffa2ac172c delint 2019-12-15 14:09:41 +00:00
Michael Telatynski
18f81d80db Initial jest stuff. Blocked on Babel 7 2019-12-13 13:43:48 +00:00
David Baker
a2e3f64963 Change read markers to use CSS transitions
Removes one of the two places we use Velocity, so we're one step
closer to getting rid of it for good.

Should therefore fix the fact that Velocity is leaking data entries
and therefore <hr> elements.

Hopefully also makes the logic in getEventTiles incrementally simpler,
if still somwewhat byzantine.
2019-11-26 19:06:02 +00:00
Michael Telatynski
d5c96b86d4 fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-19 10:31:34 +01:00
Michael Telatynski
02dfdffc4f Fix failing test due to newly added assumption
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-18 14:35:13 +01:00
Michael Telatynski
bf30cfe699 Fix other test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
1c7d67e8b3 fix test
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-11 17:44:04 +01:00
Michael Telatynski
70ff2bc9cd Switch to createReactClass: views/rooms and test/components. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 15:04:46 +01:00
Michael Telatynski
accb0abe2d Switch from react-addons-test-utils to react-dom/test-utils. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-24 11:47:07 +01:00
David Baker
a87fb7eaa2 also remove from comment 2019-08-16 15:36:41 +01:00
David Baker
3c4c595f79 remove old serverCaps 2019-08-16 15:27:11 +01:00
David Baker
19c7a4627d fix test 2019-08-16 12:24:52 +01:00
Michael Telatynski
201d7fb448 Merge branches 'develop' and 't3chguy/prop-types' of github.com:matrix-org/matrix-react-sdk into t3chguy/prop-types
# Conflicts:
#	test/components/structures/MessagePanel-test.js
2019-07-31 12:21:00 +01:00
Michael Telatynski
1087e04bb5 Replace React.PropTypes with usage of the prop-types package
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 12:19:29 +01:00
J. Ryan Stinnett
c338f8bf1f Add room context to test 2019-07-31 11:17:28 +01:00
Travis Ralston
90212c76a5 Use r0 media endpoints for group tests 2019-07-10 13:24:47 -06:00
David Baker
7602d76723 fix test 2019-06-11 13:16:49 +01:00
Travis Ralston
ae63df95ea Fix tests to use new serverConfig prop 2019-05-03 11:34:30 -06:00
Bruno Windels
30dc6a9150 remove tests relying on scrollpanel behaviour
as BACAT scrolling relies on CSS from riot, which is not
included in the karma tests, we're removing these
tests in favor of later adding them to the e2e tests.
2019-03-28 17:57:08 +01:00
Bruno Windels
494779393f Merge branch 'develop' into bwindels/bacat-scrolling 2019-03-21 13:50:32 +01:00
J. Ryan Stinnett
99369a54fe
Typo
Co-Authored-By: dbkr <dbkr@users.noreply.github.com>
2019-03-20 18:11:42 +00:00
David Baker
58b2068fbf Set velocity's mock option in the unit test 2019-03-20 17:43:19 +00:00
Bruno Windels
95e61a57bc fix some tests 2019-03-15 10:16:21 +01:00
Bruno Windels
65807c7a66 Revert "remove test for #528 as we removed that fix"
This reverts commit 42030796c7.
2019-03-01 16:08:58 +01:00
Bruno Windels
42030796c7 remove test for #528 as we removed that fix 2019-02-26 10:49:03 +01:00
J. Ryan Stinnett
71c30b5641 Add some basic login tests 2019-02-05 16:33:12 +00:00
J. Ryan Stinnett
71d1a24fcb Add some basic registration tests 2019-02-05 09:26:45 +00:00
Bruno Windels
42161f3a23 fix tests 2019-01-30 18:43:16 +01:00
J. Ryan Stinnett
20b7debcaf Remove support for team servers 2019-01-25 16:13:30 -06:00
J. Ryan Stinnett
9470424bcb Enable linting for all auth related files 2019-01-23 18:32:36 -06:00
J. Ryan Stinnett
29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00
Travis Ralston
8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
David Baker
f928be6f59 Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
This reverts commit ad47144355.
2019-01-03 15:37:03 -07:00
David Baker
7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
Stephen Solka
0bb35944f9 replace expect.createSpy() with jest.fn()
Signed-off-by: Stephen Solka <stephen0q@gmail.com>
2019-01-02 16:59:48 -06:00
Stephen Solka
c3185a4cdb breaking changes from expect upgrade
Signed-off-by: Stephen Solka <stephen0q@gmail.com>
2019-01-02 16:59:48 -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
Bruno Windels
734a7ef6c8 fix tests 2018-11-13 09:34:54 +01:00
Akihiko Odaki
35ab573bc5 Update sinon to 5.0.7 2018-05-21 18:44:00 +09:00
Luke Barnard
c06a04af97 Fix unrelated linting issue 2018-05-03 18:11:32 +01:00
Luke Barnard
dc20f32ad7 Move waitForUpdate to test-utils 2018-05-02 11:19:01 +01:00
Luke Barnard
7915d97ed7 Also run other tests 2018-04-27 14:56:48 +01:00
Luke Barnard
a1c4424224 Add tests for GroupView 2018-04-27 14:28:24 +01:00
Travis Ralston
10519f9465 Fix the tests
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-05 14:56:41 -07:00
Travis Ralston
ae10a11ac4 Convert synced settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06: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
turt2live
0363f73e28 Fix the MessagePanel test
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:57:28 -06:00
David Baker
609d61d53c Revert "Implement sticky date separators" 2017-09-06 17:40:58 +01:00
Luke Barnard
69bce6aee5 Update tests to reflect not supressing first date separator 2017-08-30 17:35:26 +01:00
Michael Telatynski
928294eba3
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/hide-join-part-2 2017-07-21 19:23:42 +01:00
Michael Telatynski
f036fd1d0f
first attempt at stubbing tests
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 19:16:30 +01:00
Richard van der Hoff
0d7cc59d99 replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +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
1139dd2be5 Fix a flaky test in the timelinepanel code
Sometimes it was possible for there to be a scroll event before the initial
pagination completed, which then upset the rest of the test. Just give it a few
ms to sort itself out instead.
2017-07-11 17:34:46 +01:00
Richard van der Hoff
167ce88a80 Rewrite ScrollPanel test
It turns out that Chrome now implements scroll-anchoring itself (ie, content
stays in the same place when you add more stuff off-screen), which means we
cannot rely on back-pagination to make ScrollPanel do a scroll.

Instead, just do a scrollToToken. Which turns out to be considerably simpler
anyway.
2017-07-05 14:34:25 +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
bfa3123f9b Combine data-scroll-token and -contained-scroll-tokens
- Instead of using one attribute, use one that might just contain one token
 - Use the first token when tracking a child
 - Mandate that no commas can be in individual tokens
2017-05-04 10:00:13 +01: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
David Baker
e52907a462 Missed semicolon 2016-12-09 10:59:05 +00:00
David Baker
289f8ab439 Fix failing test
For some reason, update webpack causes the promise to no longer
complete by the next tick. Change the test to not depend on how
fast the promise goes through.
2016-12-08 18:44:38 +00:00
Luke Barnard
8a6ed1d7e9 Do not assume unpagination will occur during scroll test 2016-11-22 17:43:45 +00:00
Luke Barnard
cf41155610 Test TimelinePanel canForwardPaginate (#561)
Fix scroll up, down pagination test

NB: this test may not fail on Travis, although it did fail locally without a fix: #563.

Once the test has scrolled the panel to the top, to the earliest events, it should be able to forward paginate, because some degree of unpagination occurs. This does assume that unpagination will occur when scrolling to the beginning of the events and that unpagination should allow pagination again in the same direction.

Instead of checking that the first event is no longer the first event (varies due to unpagination), check instead that the most recent event can be seen when scrolling all the way down to the bottom of the TimelinePanel.

Scrolling past the bottom of content seems to have strange behaviour, which isn't a useful part of the test. So now the test will scroll down until the last event instead.
2016-11-18 11:44:45 +00:00
Luke Barnard
b718f1542c Fix infinite loop when there are a lot of invisible events (#554)
Instead of using a window of a fixed number of events, unpaginate based on the distance of the viewport from the end of the scroll range.

The ScrollPanel uses the scrollTokens to convey to its parent (the TimelinePanel, in this case) the point to unpaginate up to. The TimelinePanel then takes a chunk of events off the front or back of `this.state.events` using `timelineWindow.unpaginate`.

Fixes https://github.com/vector-im/vector-web/issues/2020
2016-11-16 14:25:52 +00: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
Richard van der Hoff
388839a094 PR feedback 2016-10-11 14:59:35 +01:00
Richard van der Hoff
24bc90f9cc Fix flaky TimelinePanel test
The 'should load new events even if you are scrolled up' test was sometimes
failing. It turned out that pagination *sometimes* wasn't starting soon enough
after setting the scrollTop, and awaitPaginationCompletion was incorrectly
believing it to have already been and gone.

Add an awaitScroll to make sure that we wait long enough for the pagination to
begin.
2016-10-11 14:20:40 +01:00
Richard van der Hoff
78c3d5943a Fix a load of warnings in the tests
Stub things out to make the tests not throw warnings, so we can see the actual
problems.
2016-10-11 14:20:40 +01:00