element-web/cypress/e2e/read-receipts
Richard van der Hoff 1f06d97ffe
Attempt to deflake a read-receipts test (#11981)
* Attempt to deflake a read-receipts test

Hopefully, this will fix https://github.com/vector-im/element-web/issues/26679

(I think that the fourth message was arriving *after* the room was marked as
read, meaning that we ended up with two unread messages rather than one.)

* Update cypress/e2e/read-receipts/new-messages.spec.ts

* prettier
2023-12-01 11:11:14 +00:00
..
editing-messages.spec.ts Rewrite doesRoomOrThreadHaveUnreadMessages to use the receipt rewrite from js-sdk (#11903) 2023-11-29 13:36:52 +00:00
high-level.spec.ts Rewrite doesRoomOrThreadHaveUnreadMessages to use the receipt rewrite from js-sdk (#11903) 2023-11-29 13:36:52 +00:00
missing-referents.spec.ts Share code for room initialisation between read receipt tests 2023-10-02 16:59:38 +01:00
new-messages.spec.ts Attempt to deflake a read-receipts test (#11981) 2023-12-01 11:11:14 +00:00
reactions.spec.ts Test for adding and removing a reaction in a thread (#11839) 2023-11-09 15:09:03 +00:00
read-receipts-utils.ts Increase the timeout for the bot to enter the room (#11742) 2023-10-13 08:50:16 +00:00
read-receipts.spec.ts Consume more imports from matrix-js-sdk/src/matrix (#11449) 2023-08-23 09:04:25 +00:00
readme.md Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +00:00
redactions.spec.ts Disable flaky test 'Reading a thread after a reaction to a redacted message marks the thread as read' (#11890) 2023-11-16 10:21:13 +00:00

High Level Read Receipt Tests

Tips for writing these tests:

  • Break up your tests into the smallest test case possible. The purpose of these tests is to understand hard-to-find bugs, so small tests are necessary. We know that Cypress recommends combining tests together for performance, but that will frustrate our goals here. (We will need to find a different way to reduce CI time.)

  • Try to assert something after every action, to make sure it has completed. E.g.: markAsRead(room2); assertRead(room2); You should especially follow this rule if you are jumping to a different room or similar straight afterwards.

  • Use assertStillRead() if you are asserting something is read when it was also read before. This waits a little while to make sure you're not getting a false positive.