UNPKG

2.37 kBJavaScriptView Raw
1/**
2 * Test case for create.
3 * Runs with mocha.
4 */
5"use strict";
6
7let create = require('../lib/create.js'),
8 freeport = require('freeport'),
9 async = require('async'),
10 assert = require('assert'),
11 apemanApp = require('apeman-app'),
12 request = require('request');
13
14describe('create', () => {
15
16 it('Create an app.', (done) => {
17 let app = create({});
18 assert.ok(app);
19 freeport(function (err, port) {
20 assert.ifError(err);
21 apemanApp('testing-app', {
22 configuration: {
23 $apps: {
24 'testing-app': {
25 '/': [
26 app,
27 function (req, res, next) {
28 let format = req.format;
29 res.end('format:' + format);
30 }
31 ]
32 }
33 }
34 },
35 port: port
36 }, function (err, server) {
37 let baseUrl = 'http://localhost:' + port;
38 assert.ifError(err);
39 async.series([
40 function (callback) {
41 request(baseUrl + '/foo.json', (err, res, body) => {
42 assert.ifError(err);
43 assert.equal(body, "format:json");
44 callback(err);
45
46 });
47 },
48 function (callback) {
49 request(baseUrl + '/foo.xml', (err, res, body) => {
50 assert.ifError(err);
51 assert.equal(body, "format:xml");
52 callback(err);
53
54 });
55 },
56 function (callback) {
57 request(baseUrl + '/foo', (err, res, body) => {
58 assert.ifError(err);
59 assert.equal(body, "format:json");
60 callback(err);
61
62 });
63 }
64 ], function (err) {
65 assert.ifError(err);
66 server.close();
67 done();
68 });
69 });
70 });
71 });
72});
73