element-web/cypress/e2e/read-receipts
Florian Duros b1e283dc42
Fill cypress test high-level.spec.ts > A receipt for the last unimportant event makes the room read, even if all are unimportant (#11830)
* Fill cypress test `high-level.spec.ts` > `A receipt for the last unimportant event makes the room read, even if all are unimportant`

* Test on `room2` instead of `room1`
2023-11-08 08:59:38 +00:00
..
editing-messages.spec.ts Disable a bunch of flaky cypress tests (#11719) 2023-10-05 15:30:49 +01:00
high-level.spec.ts Fill cypress test high-level.spec.ts > A receipt for the last unimportant event makes the room read, even if all are unimportant (#11830) 2023-11-08 08:59:38 +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 Share code for room initialisation between read receipt tests 2023-10-02 16:59:38 +01:00
reactions.spec.ts Share code for room initialisation between read receipt tests 2023-10-02 16:59:38 +01: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 Enable tests that have been fixed by matrix-js-sdk#3798 (#11762) 2023-10-18 16:12:35 +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.