Estoy tratando de usar el pegado de eventos de usuario de Testing-library para probar un controlador de eventos onPaste para un componente de reacción.
El controlador de eventos:
pasteHandler = (event: any) => { const text = event.clipboardData.getData("text"); parseAndUpdateState(text); } Si pruebo const clipboardData = new DataTransfer(); o un simulacro global como se menciona aquí , obtengo: Error: Uncaught [ReferenceError: DataTransfer is not defined].
No importa cómo intente definir un objeto de broma simulada o crear mi propia definición, obtengo errores para el objeto de transferencia de datos que falta o para los campos que faltan.
¿Hay algo que me falta sobre cómo simular un objeto DataTransfer donde solo necesito obtener datos del portapapeles?
Artículo encontrado de la pregunta
Me perdí la documentación para createEvent y después de usar eso junto con
const PhoneNumberElement = screen.queryByTestId('paste-input'); const paste = createEvent.paste(PhoneNumberElement, { clipboardData: { getData: () => '123456', }, }); fireEvent(PhoneNumberElement, paste);como se menciona en el artículo, pude pegar y activar el controlador onPaste.