Setup for custom queries clashes with AllByAttribute type
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- documentation
Línea de trabajo
Comienza con la página de configuración de consultas personalizadas enlazada en el issue y compara su ejemplo de JavaScript con la conversión a TypeScript indicada. Actualiza el ejemplo para que la consulta personalizada se ajuste al tipo documentado y al uso de buildQueries; después, verifica que la versión de TypeScript ya no produzca el error de tipos indicado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
https://testing-library.com/docs/react-testing-library/setup#add-custom-queries
Existing setup for custom queries documentation does not work with typescript
To Reproduce
converting the following to typescript
const queryAllByDataCy = (...args) =>
queryHelpers.queryAllByAttribute('data-cy', ...args)
const queryAllByDataCy: AllByAttribute = (_, ...args) =>
queryHelpers.queryAllByAttribute('data-cy', ...args)
Produces a type error in the buildQueries function
type error
Argument of type 'AllByAttribute' is not assignable to parameter of type 'GetAllBy<[container: HTMLElement, id: Matcher, options?: MatcherOptions | undefined]>'.
Types of parameters 'attribute' and 'container' are incompatible.
Type 'HTMLElement' is not assignable to type 'string'.
buildQueries(queryAllByDataCy, getMultipleError, getMissingError)
Expected behavior
When converting the provided example to typescript the setup example should be in a format that conforms to the libraries type AllByAttribute.
This can be done by using partial application the container argument on queryHelpers.queryAllByAttribute and then updating the type of AllByAttribute to omit the partial argument
e.g.
js only:
const queryAllByDataCy = queryHelpers.queryAllByAttribute,bind(null, 'data-cy')
ts only:
type QueryAllByDataCy = (
container: HTMLElement,
id: Matcher,
options?: MatcherOptions
) => HTMLElement[]
const queryAllByDataCy: QueryAllByDataCy = queryHelpers.queryAllByAttribute,bind(null, 'data-cy')
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
- OS: Ubuntu 20.04.2 LTS
- Typescript ^4.2.4
- Node 15.14.0
- Lenguaje dominante
- JavaScript
- Estrellas
- 479
- Forks
- 738
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de testing-library/testing-library-docs
-
Vue - FAQ about Vue Router is outdatedPosiblemente ocupada @SatvikMishra08 la tomó hace 8 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
testing-library/testing-library-docs#1570 · 1 comentario ·
-
Broken Chrome Extension Link in Queries DocsPosiblemente ocupada @rajanpanth la tomó hace 57 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Framework wrappers and DOM testing libraryPosiblemente ocupada @jacklaurencegaray la tomó hace 420 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 38/100
testing-library/testing-library-docs#1493 · 3 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
testing-library/testing-library-docs#1486 · 1 reacción ·
Todos los issues de testing-library/testing-library-docs
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
[quality] Nothing keeps docs/skills/manifest.md in sync with docs/skills/*.mdPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/quality hive/covered-by-pr hive/hosted-available-lke648397-260827-5n31 quality testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
apache/rocketmq-dashboard#6610 ·
Los mantenedores suelen responder en 3 días
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
githubnext/gh-aw-workshop#4535 ·
Los mantenedores suelen responder en 1 día
-
Global update drops overrideAccess, so Local API updateGlobal fails filterOptions validation (3.90 regression)Posiblemente ocupada @PINYOPATTANAWASANPORN la tomó hoy. Abiertoarea: core Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
payloadcms/payload#18674 · 1 comentario ·
Los mantenedores suelen responder en 1 día