12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- '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.');
- });
- });
- });
|