test: also tag userlist_click_to_chat describe with @feature:username (#7664)

Every test in this describe block depends on each user having a
settable, displayable username — clicking a userlist row reads the
user's display name, prefills `@<name>` in the chat input, etc.
ep_disable_change_author_name disables exactly that machinery and
its CI fails the three userlist_click_to_chat cases (#86) for
exactly this reason.

Add the second tag so plugins declaring
`disables: ["@feature:username"]` opt out via the disables contract.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
John McLear 2026-05-03 20:52:15 +08:00 committed by GitHub
parent 69bb1e19c5
commit a0011f286d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -23,7 +23,13 @@ const setSecondUserName = async (page2: any, name: string) => {
await page2.keyboard.press('Enter');
};
test.describe('userlist click → chat prefill', {tag: '@feature:chat'}, () => {
// `@feature:username` because the entire flow depends on each user
// having a settable, displayable username — clicking a userlist row
// reads the user's display name, prefills `@<name>` in the chat
// input, etc. Plugins that disable username changes (e.g.
// ep_disable_change_author_name) genuinely break this and should
// opt out via the disables contract.
test.describe('userlist click → chat prefill', {tag: ['@feature:chat', '@feature:username']}, () => {
test('clicking another user opens chat and prefills @<name>',
async ({browser}) => {
const padId = await goToNewPad(await browser.newPage());