2015-03-18 20 views
17

Bir dosya yükleyen bir kip sisteminde temel bir kabul testi oluşturmak istiyorum. Sunucuyu Pretender ile alay edebilirim, ancak dosya sistemimdeki bir dosyayla input type="file" alanını nasıl dolduracağımı bilmem gerekiyor. Yani sorular temelde şunlardır:Ember cli dosyasında dosya yükleme için kabul testi

  1. nasıl kor testi yardımcıları ile giriş dosyası alanını doldurmak için, ben fillIn yardımcı kullanırım?
  2. Örnek dosyalar bir klasöre nasıl eklenir ve kabul testimden nasıl alınır? Ember projemin mevcut yolunu kabul edilen test sisteminden bir dosya seçmek için kabul testinden almak mümkün mü? Raylarda bu amaç için Rails.root'u kullanıyoruz.

cevap

6

: Ben dosyasından bir dosyayı karşıya yoktur bunu bir http url oluşturmak indirdikten sonra yüklemeyi test etmek istediğiniz demo dosyası ile çalışırken Burada

başlatmak için bir yerlerde sistem, fakat elle Blob'u oluşturmak ve giriş elemanı üzerinde triggerHandler kullanın:

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; } 
    } 
    } 
}); 

Bu yükleme tetikler.

+0

Bu, html ile harika çalışır; '' '' ' – jrjohnson

0

tarayıcı izin vermez çünkü yüklemeye hazır bir dosya değeri ile dosya alanını kurmak için fillIn böyle bir şey kullanamazsınız: How to set a value to a file input in HTML?

Mümkün sadece düşünüyorum Bunu kapatmak için bir sunucuda bulunan bir dosyayı indirmek için xhr kullanmak ve yüklemek için xhr kullanın. Dosya giriş alanının değerini, bağlandığım SO sorusunda açıklanmış olan güvenlik sorununu uygulamadan programsal olarak ayarlayabileceğinizi düşünmüyorum. Ben farklı çözüldü https://developer.mozilla.org/en-US/docs/Web/API/FileReader

İlgili konular