UNPKG

1.49 kBJavaScriptView Raw
1process.env.OSM_COMMENTS_POSTGRES_URL = 'postgres://' + process.env.TEST_PG_USER + '@localhost/osm-comments-api-test';
2
3var api = require('../api');
4var tape = require('tape');
5var http = require('http');
6var moment = require('moment');
7// Simple GET function
8function get(path, callback) {
9 http.get('http://localhost:20009' + path, function(res) {
10 var body = '';
11 res.on('error', callback);
12 res.on('data', function(d) { body += d; });
13 res.on('end', function() {
14 callback(null, body, res);
15 });
16 }).on('error', callback);
17}
18
19tape('start server', function(assert) {
20 api.listen(20009, function(err) {
21 if (err) throw err;
22 assert.pass('server listening on 20009');
23 assert.end();
24 });
25});
26
27tape('run API test for users', function(assert) {
28 get('/api/v1/users/name/FredB', function(err, res) {
29 assert.ifError(err, 'call to user API does not error');
30 console.log(res);
31 var expected = { 'id': 1626, 'name': 'FredB', 'first_edit': '2013-04-24T00:00:00.000Z','changeset_count':5,'num_changes':50};
32 var result = JSON.parse(res);
33 result.first_edit = moment(result.first_edit);
34 result.first_edit = result.first_edit
35 .add('minutes', result.first_edit.utcOffset())
36 .toISOString();
37 assert.deepEqual(result, expected, 'API response for user end-point as expected');
38 assert.end();
39 });
40});
41
42tape.onFinish(() => process.exit(0));