element-web-Github/playwright/e2e/read-receipts
David Baker 24cda5fc59
Fix threaded reply playwright tests (#12070)
It appears the bug with these tests was just that the MessageBuilder
wasn't setting the thread relation on the reply messages as this didn't
happen trying to repro it manually, so fix the builder and re-enable
the tests.

The flip side of this is that it implies buggy clients that don't
set thread relations properly will cause stuck notifs in Element Web.
I've filed this as https://github.com/element-hq/element-web/issues/26787
2023-12-18 21:05:06 +00:00
..
editing-messages.spec.ts Playwright: Enable more tests in editing-messages.spec.ts (#12001) 2023-12-07 10:29:25 +00:00
high-level.spec.ts Remove skipped for rust crypto in high-level.spec.ts (#12029) 2023-12-12 13:23:25 +00:00
index.ts Fix threaded reply playwright tests (#12070) 2023-12-18 21:05:06 +00:00
missing-referents.spec.ts Migrate most read-receipts tests from Cypress to Playwright (#11994) 2023-12-05 10:37:23 +00:00
new-messages.spec.ts Enable & fix skipped tests in new-messages.spec.ts (#12013) 2023-12-08 12:38:39 +00:00
reactions.spec.ts Enable skipped tests in reactions.spec.ts (#12019) 2023-12-08 16:07:25 +00:00
read-receipts.spec.ts Migrate read-receipts.spec.ts from Cypress to Playwright (#11995) 2023-12-05 13:24:10 +00:00
readme.md Migrate most read-receipts tests from Cypress to Playwright (#11994) 2023-12-05 10:37:23 +00:00
redactions.spec.ts Fix threaded reply playwright tests (#12070) 2023-12-18 21:05:06 +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 Playwright 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 afterward.

  • 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.