Skip to content

Commit 46c1372

Browse files
committed
Test for a combination of files and fields
1 parent b46f8a4 commit 46c1372

3 files changed

Lines changed: 38 additions & 0 deletions

File tree

test/form-data-swagger.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,27 @@ paths:
5050
responses:
5151
'200':
5252
description: Auth result
53+
/kennels/import:
54+
post:
55+
description: Login operation
56+
produces:
57+
- application/json
58+
consumes:
59+
- multipart/form-data
60+
parameters:
61+
- name: name
62+
in: formData
63+
required: true
64+
type: string
65+
description: Kennel name.
66+
- name: blueprintFile
67+
in: formData
68+
required: true
69+
type: file
70+
description: File to import from.
71+
responses:
72+
'200':
73+
description: Import result
5374
definitions:
5475

5576
parameters:

test/middleware-test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2289,6 +2289,20 @@ describe('input-validation middleware tests', function () {
22892289
done();
22902290
});
22912291
});
2292+
it('supports mix of files and fields', function (done) {
2293+
request(app)
2294+
.post('/kennels/import')
2295+
.set('api-version', '1.0')
2296+
.field('name', 'kennel 1 ')
2297+
.attach('blueprintFile', 'LICENSE')
2298+
.expect(200, function (err, res) {
2299+
if (err) {
2300+
throw err;
2301+
}
2302+
expect(res.body.result).to.equal('OK');
2303+
done();
2304+
});
2305+
});
22922306
it('validates string formData', function (done) {
22932307
request(app)
22942308
.post('/login')

test/test-server-formdata.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ module.exports = inputValidation.init('test/form-data-swagger.yaml', inputValida
2525
app.post('/pets/import', upload.any(), inputValidation.validate, function (req, res, next) {
2626
res.json({ result: 'OK' });
2727
});
28+
app.post('/kennels/import', upload.any(), inputValidation.validate, function (req, res, next) {
29+
res.json({ result: 'OK' });
30+
});
2831
app.post('/login', upload.any(), inputValidation.validate, function (req, res, next) {
2932
res.json({ result: 'OK' });
3033
});

0 commit comments

Comments
 (0)