Skip to content

Commit 65712ee

Browse files
committed
chore: increase test coverage
1 parent b6e4b1f commit 65712ee

File tree

3 files changed

+75
-1
lines changed

3 files changed

+75
-1
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,6 @@ node_modules
1919
*.gz
2020

2121

22-
# Coveralls
22+
# Coverage
23+
.nyc_output
2324
coverage

test/disk-storage.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var deepEqual = require('deep-equal')
55

66
var fs = require('fs')
77
var path = require('path')
8+
var os = require('os')
89
var util = require('./_util')
910
var multer = require('../')
1011
var 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
})

test/error-handling.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,4 +277,20 @@ describe('Error Handling', function () {
277277
done()
278278
})
279279
})
280+
281+
it('should throw TypeError if options is not an object', function () {
282+
assert.throws(() => {
283+
multer(null)
284+
}, {
285+
name: 'TypeError',
286+
message: 'Expected object for argument options'
287+
})
288+
289+
assert.throws(() => {
290+
multer('invalid')
291+
}, {
292+
name: 'TypeError',
293+
message: 'Expected object for argument options'
294+
})
295+
})
280296
})

0 commit comments

Comments
 (0)