Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature][EPIC]: Поддержать возможность передачи data-testid во всех компонентах, особенно в интерактивные подкомпоненты #6219

Open
mendrew opened this issue Dec 6, 2023 · 0 comments
Assignees

Comments

@mendrew
Copy link
Contributor

mendrew commented Dec 6, 2023

Описание

Часто, для e2e тестирования требуется получить доступ к компоненту, или его части для взаимодействия.
Построение запросов через контент или accessibility (лэйблы, роли) не всегда возможно, когда речь идёт об интерфейсе с локализацией.

Самый лучший запасной варинат это data-* аттрибуты, а частности data-testid.

Следует пройтись по всем компонентам и их подкомпонентам и добавить возможность передачи data-testid.

По умолчанию мы позволяем передавать data-testid в компонент как есть, но это работает только с простыми блоками.
Труднее всего с интерактивными элементами компонентов собранных из подкомпонентов, типа Alert. Где есть кнопка закрытия, но доступ к ней получить не легко.

Варианты решения.

  • подкомпонентный подход [Epic]: Подкомпонентный подход #4699
    но не все компоненты можно так разложить + требует много времени для реализации. Также этот подход может быть болезненным, когда требуется лишь передать testId, хочется избежать переписывания компонента.

  • добавление новый свойств, например closeButtonTestId. Более дешёвый способ, позволяющий уже сейчас получить желаемый результат. В части компонентов уже применён.

  • slots и концепия перезаписи пропсов. Потребует сильной переработки компонентов. Надеюсь, что мы к этому придём, но не в скором времени.

Related

@mendrew mendrew added this to VKUI Dec 6, 2023
@github-project-automation github-project-automation bot moved this to 🗃 Backlog in VKUI Dec 6, 2023
@inomdzhon inomdzhon added this to the v7.0.0-beta.0 milestone Sep 16, 2024
@andrey-medvedev-vk andrey-medvedev-vk self-assigned this Sep 27, 2024
@andrey-medvedev-vk andrey-medvedev-vk moved this from 🗃 Backlog to 🔧 In progress in VKUI Sep 27, 2024
@andrey-medvedev-vk andrey-medvedev-vk moved this from 🔧 In progress to 🔜 To do in VKUI Oct 1, 2024
@andrey-medvedev-vk andrey-medvedev-vk moved this from 🔜 To do to 🔧 In progress in VKUI Dec 2, 2024
@inomdzhon inomdzhon removed this from the v7.1.0 milestone Dec 16, 2024
@andrey-medvedev-vk andrey-medvedev-vk moved this from 🔧 In progress to 🔜 To do in VKUI Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🔜 To do
Development

No branches or pull requests

3 participants