-
Notifications
You must be signed in to change notification settings - Fork 184
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(ModalPage/Alert) Allow to pass testid to inner components #5792
Conversation
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit fcd82f1:
|
size-limit report 📦
|
e2e tests |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #5792 +/- ##
==========================================
- Coverage 81.99% 80.57% -1.42%
==========================================
Files 298 298
Lines 9839 9140 -699
Branches 3115 3113 -2
==========================================
- Hits 8067 7365 -702
- Misses 1772 1775 +3
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
👀 Docs deployed
Commit fcd82f1 |
Allow to pass it via typographyProps
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Выглядит хорошо 👍
Есть, кстати, вот такая задача #2342
PS: есть не консистентность по неймингу, где-то будет формат modalContentTestId
, а где-то data-testid
, но с другой стороны ради консистентности добавлять дополнительные трансформации тоже не хочется, имею ввиду делать dataTestId
, а потом это через проверку превращать в data-testid
Ага, я её в описании указал.
Я бы тут не согласился называть это не консистентностью по неймингу. Тут всё же мы прокидываем
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
) * Изменения - добавил проп `modalContentTestId` в ModalPage, чтобы можно было проще взаимодействовать с контейнером контента. Есть пара случаев где приходится в тестах контроллировать скролл. Поиск контейнера контента очень хрупок. - добавил тип `HasDataAttribute` в интервейс `Alert actions`, чтобы можно было прокидывать `data-testid` каждому экшену в `Alert`. - добавил тип `HasDataAttribute` в интервейс ModalPanelHeader/PanelHeader, чтобы можно было прокидывать `data-testid`. Основано на вопросах по поводу того как писать наиболее стабильные E2E тесты используя vkui. Мотивация: - как можно меньше зависеть от внутренней реализации VKUI и уйти от селекторов в продуктовых E2E тестах. - не всегда удобно завязываться на текст, хоть и может быть предпочтительнее.
✅ v5.9.0 🎉 |
Описание
Основано на вопросах по поводу того как писать наиболее стабильные E2E тесты используя vkui.
Мотивация:
Почему не подождать подкомпонентного подхода #4699?
В подкомпонентном подходе это, конечно, будет легче сделать, но мы всё равно оставим для пользователей возможность использовать уже собранный вариант компонента по умолчанию и хотелось бы поддержать возможность для пользователей прокидывать внутрь
data-testid
.В #2342 мы окончательно смогли бы решить эту проблему.
На данный момент просто хотелось бы дать возможность уже сейчас подготовиться пользователем к изменениям в css и отвязаться от классов в тестах.
Изменения
modalContentTestId
в ModalPage, чтобы можно было проще взаимодействовать с контейнером контента. Есть пара случаев где приходится в тестах контроллировать скролл. Поиск контейнера контента очень хрупок.HasDataAttribute
в интервейсAlert actions
, чтобы можно было прокидыватьdata-testid
каждому экшену вAlert
.HasDataAttribute
в интервейс ModalPanelHeader/PanelHeader, чтобы можно было прокидыватьdata-testid
.