element-web/cypress/e2e/read-receipts
Andy Balaam 1c2d604abe
Split the read-receipt tests into logical units (#11649)
* Split the read-receipt tests into logical units

* Move read-receipt docs into a readme file

* Provide doc comments for exported functions in read-receipt tests
2023-09-22 11:57:40 +00:00
..
editing-messages.spec.ts Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +00:00
high-level.spec.ts Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +00:00
missing-referents.spec.ts Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +00:00
new-messages.spec.ts Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +00:00
reactions.spec.ts Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +00:00
read-receipts-utils.ts Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +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 Split the read-receipt tests into logical units (#11649) 2023-09-22 11:57:40 +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.