|
|
'use strict';
const request = require('supertest'); const server = require('./server'); const app = server.setup();
let mockUser = { firstName: 'Joe', lastName: 'Schmo', email: 'joe@mailinator.com' };
let mockCars = [ 'rsx', 'tsx', 'civic', 'integra' ];
describe('Test Multipart Form Single Field Submissions', function() { it('submit multipart user data with POST', function(done) { request(app) .post('/fields/user') .field('firstName', mockUser.firstName) .field('lastName', mockUser.lastName) .field('email', mockUser.email) .expect('Content-Type', /json/) .expect(200, { firstName: mockUser.firstName, lastName: mockUser.lastName, email: mockUser.email }, done); });
it('submit multipart user data with PUT', function(done) { request(app) .post('/fields/user') .field('firstName', mockUser.firstName) .field('lastName', mockUser.lastName) .field('email', mockUser.email) .expect('Content-Type', /json/) .expect(200, { firstName: mockUser.firstName, lastName: mockUser.lastName, email: mockUser.email }, done); });
it('fail when user data submitted without multipart', function(done) { request(app) .post('/fields/user') .send(mockUser) .expect(400) .end(done); });
it('fail when user data not submitted', function(done) { request(app) .post('/fields/user') .expect(400) .end(done); }); });
describe('Test Multipart Form Array Field Submissions', function() { it('submit array of data with POST', function(done) { let req = request(app).post('/fields/array');
for (let i = 0; i < mockCars.length; i++) { req.field('testField', mockCars[i]); }
req .expect(200) .end(function(err, res) { if (err) { return done(err); }
let responseMatchesRequest = res.body.join(',') === mockCars.join(',');
done(responseMatchesRequest ? null : 'Data was returned as expected.'); }); }); });
|