41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
|
|
import ActiveStorageDropzone from "active_storage_dropzone";
|
||
|
|
const $ = require('jquery');
|
||
|
|
|
||
|
|
describe("ActiveStorageDropzone", () => {
|
||
|
|
class FakeDropzone {
|
||
|
|
constructor(element, options) {
|
||
|
|
this.element = element
|
||
|
|
this.options = options
|
||
|
|
}
|
||
|
|
emit() {}
|
||
|
|
createThumbnailFromUrl() {}
|
||
|
|
}
|
||
|
|
|
||
|
|
class FakeUploader {
|
||
|
|
constructor(file, url, delegate) {
|
||
|
|
this.file = file
|
||
|
|
this.url = url
|
||
|
|
this.delegate = delegate
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
describe("init", () => {
|
||
|
|
it("creates a dropzone with custom settings", () => {
|
||
|
|
const data = [{"name":"filename","size":123,"type":"image/jpg","dataURL":"url-to-asset"}]
|
||
|
|
|
||
|
|
document.body.innerHTML =
|
||
|
|
`<div class="test" data-existing-files='${JSON.stringify(data)}'>` +
|
||
|
|
'</div>';
|
||
|
|
|
||
|
|
const dropzone = new ActiveStorageDropzone(FakeDropzone, FakeUploader)
|
||
|
|
dropzone.init($(".test"))
|
||
|
|
|
||
|
|
expect(dropzone.myDropzone.options.url).toBe("/")
|
||
|
|
expect(dropzone.myDropzone.options.autoQueue).toBe(true)
|
||
|
|
expect(dropzone.myDropzone.options.acceptedFiles).toBe("image/*")
|
||
|
|
expect(dropzone.myDropzone.options.parallelUploads).toBe(30)
|
||
|
|
expect(dropzone.myDropzone.options.dictDefaultMessage).toBe("Drop files here")
|
||
|
|
})
|
||
|
|
})
|
||
|
|
})
|