Skip to content

test: add mention regression tests [WPB-19960]#20498

Open
markbrockhoff wants to merge 24 commits intodevfrom
mb/mention-tests
Open

test: add mention regression tests [WPB-19960]#20498
markbrockhoff wants to merge 24 commits intodevfrom
mb/mention-tests

Conversation

@markbrockhoff
Copy link
Collaborator

@markbrockhoff markbrockhoff commented Feb 24, 2026

TaskWPB-19960 [Web/QA] Write the Mention regression tests in Playwright

Pull Request

Summary

  • Implement regression tests for mentioning other users in messages
  • Fix aria label of decline button within call cell
  • Group conversation list item locators e.g. for unread or mention status
  • Fix a11y within UserList to correctly label the group admin and member lists
  • Create setup for adding guest users to a group conversation

Security Checklist (required)

  • External inputs are validated & sanitized on client and/or server where applicable.
  • API responses are validated; unexpected shapes are handled safely (fallbacks or errors).
  • No unsafe HTML is rendered; if unavoidable, sanitization is applied and documented where it happens.
  • Injection risks (XSS/SQL/command) are prevented via safe APIs and/or escaping.

Accessibility (required)

Standards Acknowledgement (required)


Notes for reviewers

  • This PR is on the bigger side, but I made sure all commits inside it are atomic. So instead of looking at everything at once, you may step through the individual commits one after an other during review to reduce the cognitive overhead ;)

@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 45.49%. Comparing base (a47241a) to head (6a1d8b2).

Additional details and impacted files
@@           Coverage Diff           @@
##              dev   #20498   +/-   ##
=======================================
  Coverage   45.49%   45.49%           
=======================================
  Files        1640     1640           
  Lines       40433    40433           
  Branches     8349     8347    -2     
=======================================
+ Hits        18394    18395    +1     
  Misses      20102    20102           
+ Partials     1937     1936    -1     
Flag Coverage Δ
app_webapp 43.71% <100.00%> (+<0.01%) ⬆️
lib_api_client 50.17% <ø> (ø)
lib_core 59.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...webapp/src/script/components/UserList/UserList.tsx 71.91% <100.00%> (+0.64%) ⬆️
...ipt/components/calling/CallingCell/CallingCell.tsx 46.49% <ø> (ø)
...ng/CallingCell/CallingControls/CallingControls.tsx 33.33% <ø> (+1.90%) ⬆️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 24, 2026

🔗 Download Full Report Artifact

🧪 Playwright Test Summary

  • Passed: 226
  • Failed: 0
  • Skipped: 13
  • 🔁 Flaky: 1
  • 📊 Total: 240
  • Total Runtime: 385.7s (~ 6 min 26 sec)
specs/Mention/mention.spec.ts (❌ 0 failed, ⚠️ 1 flaky)
  • ⚠️ Mention > I want to mention the same person twice in the same message (tags: TC-3492, regression)

@markbrockhoff markbrockhoff force-pushed the mb/mention-tests branch 2 times, most recently from 27eb76f to 6aa7697 Compare March 3, 2026 08:59
@markbrockhoff markbrockhoff force-pushed the mb/mention-tests branch 2 times, most recently from 4a47a4a to 49a706a Compare March 3, 2026 16:48
className="call-ui__button call-ui__button--red call-ui__button--large"
onClick={() => (isIncoming ? callActions.reject(call) : callActions.leave(call))}
onBlur={() => clearShowAlert()}
title={!isGroup && showAlert ? call1To1StartedAlert : t('videoCallOverlayHangUp')}
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The call1To1StartedAlert message is already placed on the calling cell itself. It should not be used as title / label of a button since it just says e.g. "You are calling {conversationName}." which adds no accessible meaning to a button and makes it even less accessible. So I removed it in favor for the descriptive label describing the button to hang up which is what it's doing.

use: {
...devices['Desktop Chrome'],
permissions: ['notifications'],
permissions: ['notifications', 'clipboard-read', 'clipboard-write'],
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Turns out it's not possible to create a guest link if the browser doesn't have clipboard permission...
After setting a password a modal is forced on you to copy the password. If the user doesn't copy it or the browser can't write to the clipboard it will just fail and do nothing.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 3, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
10.4% Duplication on New Code (required ≤ 5%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants