veza/tests/e2e/helpers/selectors.ts
senke 172581ff02 chore(cleanup): remove orphan code + archive disabled workflows + .playwright-mcp
Triple cleanup, landed together because they share the same cleanup
branch intent and touch non-overlapping trees.

1. 38× tracked .playwright-mcp/*.yml stage-deleted
   MCP session recordings that had been inadvertently committed.
   .gitignore already covers .playwright-mcp/ (post-audit J2 block
   added in d12b901de). Working tree copies removed separately.

2. 19× disabled CI workflows moved to docs/archive/workflows/
   Legacy .yml.disabled files in .github/workflows/ were 1676 LOC of
   dead config (backend-ci, cd, staging-validation, accessibility,
   chromatic, visual-regression, storybook-audit, contract-testing,
   zap-dast, container-scan, semgrep, sast, mutation-testing,
   rust-mutation, load-test-nightly, flaky-report, openapi-lint,
   commitlint, performance). Preserved in docs/archive/workflows/
   for historical reference; `.github/workflows/` now only lists the
   5 actually-running pipelines.

3. Orphan code removed (0 consumers confirmed via grep)
   - veza-backend-api/internal/repository/user_repository.go
     In-memory UserRepository mock, never imported anywhere.
   - proto/chat/chat.proto
     Chat server Rust deleted 2026-02-22 (commit 279a10d31); proto
     file was orphan spec. Chat lives 100% in Go backend now.
   - veza-common/src/types/chat.rs (Conversation, Message, MessageType,
     Attachment, Reaction)
   - veza-common/src/types/websocket.rs (WebSocketMessage,
     PresenceStatus, CallType — depended on chat::MessageType)
   - veza-common/src/types/mod.rs updated: removed `pub mod chat;`,
     `pub mod websocket;`, and their re-exports.
   Only `veza_common::logging` is consumed by veza-stream-server
   (verified with `grep -r "veza_common::"`). `cargo check` on
   veza-common passes post-removal.

Refs: AUDIT_REPORT.md §8.2 "Code mort / orphelin" + §9.1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:33:40 +02:00

70 lines
1.4 KiB
TypeScript

/**
* Centralized Playwright selectors — mirrors TESTID from
* apps/web/src/components/ui/testids.ts
*
* Usage:
* import { SEL } from './helpers/selectors';
* await page.getByTestId(SEL.toast.success).click();
*/
export const SEL = {
// Toast
toast: {
success: 'toast-success',
error: 'toast-error',
info: 'toast-info',
message: 'toast-message',
close: 'toast-close',
},
// Dialog
dialog: {
root: 'dialog',
title: 'dialog-title',
close: 'dialog-close',
content: 'dialog-content',
footer: 'dialog-footer',
confirm: 'dialog-confirm',
cancel: 'dialog-cancel',
},
// Confirmation Dialog
confirmationDialog: {
root: 'confirmation-dialog',
description: 'confirmation-description',
icon: 'confirmation-icon',
},
// Radio
radioGroup: {
root: 'radio-group',
item: (value: string) => `radio-item-${value}`,
},
// Checkbox
checkbox: {
root: 'checkbox',
input: 'checkbox-input',
label: 'checkbox-label',
},
// Layout
sidebar: 'app-sidebar',
header: 'app-header',
player: 'global-player',
// Auth
loginForm: 'login-form',
loginSubmit: 'login-submit',
registerForm: 'register-form',
// Player
audioElement: 'audio-element',
volumeControl: 'volume-control',
// Search
searchInput: 'search-input',
// Cards
trackCard: 'track-card',
playlistCard: 'playlist-card',
} as const;