diff --git a/lib/gui/os/dropzone/directives/dropzone.js b/lib/gui/os/dropzone/directives/dropzone.js index 7c4183b0..7d010bd1 100644 --- a/lib/gui/os/dropzone/directives/dropzone.js +++ b/lib/gui/os/dropzone/directives/dropzone.js @@ -17,6 +17,7 @@ 'use strict'; const _ = require('lodash'); +const fs = require('fs'); /** * @summary Dropzone directive @@ -59,7 +60,10 @@ module.exports = function($timeout) { // Pass the filename as a named // parameter called `$file` - $file: filename + $file: { + path: filename, + size: fs.statSync(filename).size + } }); }); diff --git a/tests/gui/os/dropzone.spec.js b/tests/gui/os/dropzone.spec.js index 1b3658f6..66969228 100644 --- a/tests/gui/os/dropzone.spec.js +++ b/tests/gui/os/dropzone.spec.js @@ -17,6 +17,7 @@ 'use strict'; const m = require('mochainon'); +const fs = require('fs'); const angular = require('angular'); require('angular-mocks'); @@ -40,10 +41,19 @@ describe('Browser: OSDropzone', function() { it('should pass the file back to the callback as $file', function(done) { $rootScope.onDropZone = function(file) { - m.chai.expect(file).to.equal('/foo/bar'); + statStub.restore(); + m.chai.expect(file).to.deep.equal({ + path: '/foo/bar', + size: 999999999 + }); done(); }; + const statStub = m.sinon.stub(fs, 'statSync'); + statStub.returns({ + size: 999999999 + }); + const element = $compile('