1 | process.env.OSM_COMMENTS_POSTGRES_URL = 'postgres://' + process.env.TEST_PG_USER + '@localhost/osm-comments-api-test';
|
2 |
|
3 | var api = require('../api');
|
4 | var tape = require('tape');
|
5 | var http = require('http');
|
6 | var moment = require('moment');
|
7 |
|
8 | function 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 |
|
19 | tape('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 |
|
27 | tape('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 |
|
42 | tape.onFinish(() => process.exit(0));
|