@@ -5,6 +5,7 @@ var deepEqual = require('deep-equal')
55
66var fs = require ( 'fs' )
77var path = require ( 'path' )
8+ var os = require ( 'os' )
89var util = require ( './_util' )
910var multer = require ( '../' )
1011var temp = require ( 'fs-temp' )
@@ -185,4 +186,60 @@ describe('Disk Storage', function () {
185186 done ( )
186187 } )
187188 } )
189+
190+ it ( 'should use default destination when none is provided' , function ( done ) {
191+ var storage = multer . diskStorage ( { } )
192+ var upload = multer ( { storage : storage } )
193+ var parser = upload . single ( 'file' )
194+ var form = new FormData ( )
195+
196+ form . append ( 'file' , util . file ( 'small0.dat' ) )
197+
198+ util . submitForm ( parser , form , ( err , req ) => {
199+ assert . ifError ( err )
200+
201+ // Verify that the file was stored in the system's temporary directory
202+ assert . strictEqual ( path . dirname ( req . file . path ) , os . tmpdir ( ) )
203+
204+ done ( )
205+ } )
206+ } )
207+
208+ it ( 'should handle error in getDestination' , function ( done ) {
209+ var storage = multer . diskStorage ( {
210+ destination : function ( req , file , cb ) {
211+ cb ( new Error ( 'Test getDestination error' ) )
212+ }
213+ } )
214+ var upload = multer ( { storage : storage } )
215+ var parser = upload . single ( 'file' )
216+ var form = new FormData ( )
217+
218+ form . append ( 'file' , util . file ( 'small0.dat' ) )
219+
220+ util . submitForm ( parser , form , function ( err , req ) {
221+ assert ( err )
222+ assert . strictEqual ( err . message , 'Test getDestination error' )
223+ done ( )
224+ } )
225+ } )
226+
227+ it ( 'should handle error in getFilename' , function ( done ) {
228+ var storage = multer . diskStorage ( {
229+ filename : function ( req , file , cb ) {
230+ cb ( new Error ( 'Test getFilename error' ) )
231+ }
232+ } )
233+ var upload = multer ( { storage : storage } )
234+ var parser = upload . single ( 'file' )
235+ var form = new FormData ( )
236+
237+ form . append ( 'file' , util . file ( 'small0.dat' ) )
238+
239+ util . submitForm ( parser , form , function ( err , req ) {
240+ assert ( err )
241+ assert . strictEqual ( err . message , 'Test getFilename error' )
242+ done ( )
243+ } )
244+ } )
188245} )
0 commit comments