ember.js integration-testing ember-cli qunit ember-qunit

ember.js - Prueba de aceptación para la carga de archivos en la cli de la brasa



integration-testing ember-cli (2)

Lo resolví de forma diferente: no cargué un archivo del sistema de archivos, sino que creo un Blob manualmente y uso triggerHandler en el elemento de entrada:

let inputElement = $(''input[type=file]''); let blob = new Blob([''foo'', ''bar''], {type: ''text/plain''}); blob.name = ''foobar.txt''; inputElement.triggerHandler({ type: ''change'', target: { files: { 0: blob, length: 1, item() { return blob; } } } });

Esto desencadena la carga.

Me gustaría crear una prueba de aceptación básica en Ember que cargue un archivo. Puedo simular el servidor con Pretender, pero necesito saber cómo llenar el campo de input type="file" con un archivo de mi sistema de archivos. Entonces las preguntas son básicamente:

  1. Cómo llenar el campo del archivo de entrada con ayudantes de prueba de brasas, ¿uso fillIn helper?
  2. Cómo agregar archivos de muestra a una carpeta y obtenerlos de mi prueba de aceptación. ¿Es posible obtener la ruta actual de mi proyecto Ember de la prueba de aceptación para seleccionar un archivo del sistema de archivos que se va a cargar? En Rails usamos Rails.root para este propósito.

No puede usar nada como fillIn para configurar el campo de archivo con un valor de archivo listo para cargar porque el navegador no le permite:

¿Cómo establecer un valor para una entrada de archivo en HTML?

Creo que la única forma posible de lograr esto sería usar xhr para descargar un archivo que existe en un servidor y luego usar xhr para cargarlo. No puedo pensar en ninguna forma en la que pueda establecer programáticamente el valor del campo de entrada del archivo sin introducir el problema de seguridad explicado en esa pregunta SO a la que me he vinculado.

Aquí hay un lugar para comenzar cuando trabaje con el archivo de demostración que desea probar cargar después de haberlo descargado en una url http: https://developer.mozilla.org/en-US/docs/Web/API/FileReader