UNPKG

6.14 kBJavaScriptView Raw
1var testConfig = {
2 'PostgresURL': 'postgres://localhost/osm-comments-api-test'
3};
4
5require('../lib/config')(testConfig);
6
7var tape = require('tape');
8var changes = require('../changes/index');
9
10
11tape('test for user jdbajar0', function (assert) {
12 changes.get('2016-12-31T19:00:00.000Z', '2017-03-09T06:29:59.000Z', 'jdbajar0', null, null).then(result).catch(errorHandler);
13 function result(data) {
14 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].jdbajar0.nodes, {c : 60, d: 0, m:0});
15 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].jdbajar0.ways, { c: 15, d: 0, m: 0 });
16 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].jdbajar0.changesets.length, 3);
17 assert.end();
18 }
19 function errorHandler(e) {
20 assert.error(e);
21 assert.end();
22 }
23});
24tape('test for user Rightful49', function (assert) {
25 changes.get('2016-12-31T19:00:00.000Z', '2017-03-09T06:29:59.000Z', 'Rightful49', null, null).then(result).catch(errorHandler);
26 function result(data) {
27 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].Rightful49.nodes, { c: 5, d: 0, m: 0 });
28 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].Rightful49.ways, { c: 5, d: 0, m: 5 });
29 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].Rightful49.changesets.length, 1);
30 assert.end();
31 }
32 function errorHandler(e) {
33 assert.error(e);
34 assert.end();
35 }
36});
37tape('test for multiusers', function (assert) {
38 changes.get('2016-12-31T19:00:00.000Z', '2017-03-09T06:29:59.000Z', 'Rightful49,nickagee', null, null).then(result).catch(errorHandler);
39 function result(data) {
40 assert.true(data['2017-02-01T05:00:00.000Z'].Rightful49);
41 assert.true(data['2017-02-01T05:00:00.000Z'].nickagee);
42 assert.end();
43 }
44 function errorHandler(e) {
45 assert.error(e);
46 assert.end();
47 }
48});
49
50tape('test for user nickagee in all data', function (assert) {
51 changes.get('2016-12-31T19:00:00.000Z', '2017-03-09T06:29:59.000Z', null, null, null).then(result).catch(errorHandler);
52 function result(data) {
53 assert.true(data['2017-02-01T05:00:00.000Z'].nickagee);
54 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].nickagee.nodes, { c: 1520, d: 0, m: 130 });
55 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].nickagee.ways, { c: 345, d: 0, m: 20 });
56 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].nickagee.relations, { c: 0, d: 0, m: 0 });
57 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].nickagee.changesets.length, 1);
58 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].nickagee.tags_created, { highway: { residential: 5 }, 'source:geomatry': { Bing: 5 } });
59 assert.deepEqual(data['2017-02-01T05:00:00.000Z'].nickagee.tags_modified, { building: { yes: 5 } });
60 assert.end();
61 }
62 function errorHandler(e) {
63 assert.error(e);
64 assert.end();
65 }
66});
67
68tape('test for specific timerange', function (assert) {
69 changes.get('2017-02-02T19:00:00.000Z', '2017-02-07T19:00:00.000Z', null, null, null).then(result).catch(errorHandler);
70 function result(data) {
71 assert.false(data['2017-02-01T05:00:00.000Z']);
72 assert.true(data['2017-02-06T09:00:00.000Z']);
73 assert.end();
74 }
75 function errorHandler(e) {
76 assert.error(e);
77 assert.end();
78 }
79});
80
81tape('test for multidata', function (assert) {
82 changes.get('2017-02-02T19:00:00.000Z', '2017-03-07T19:00:00.000Z', null, null, null).then(result).catch(errorHandler);
83 function result(data) {
84 assert.true(data['2017-02-06T09:00:00.000Z'].BharataHS_laimport);
85 assert.equal(data['2017-02-06T09:00:00.000Z'].BharataHS_laimport.ways.c, 462);
86 assert.deepEqual(data['2017-02-06T09:00:00.000Z'].BharataHS_laimport.nodes, {c: 7038, d: 0, m:0});
87 assert.end();
88 }
89 function errorHandler(e) {
90 assert.error(e);
91 assert.end();
92 }
93});
94
95tape('test for total nodes', function (assert) {
96 changes.get('2017-02-02T19:00:00.000Z', '2017-03-07T19:00:00.000Z', null, null, null).then(result).catch(errorHandler);
97 function result(data) {
98 var d = data['2017-02-06T09:00:00.000Z'];
99 var sum = Object.keys(d).filter(u => d[u] && d[u].nodes).reduce((s, u) => s + d[u].nodes.c + d[u].nodes.m + d[u].nodes.d , 0);
100 assert.equal(sum, 43285);
101 assert.end();
102 }
103 function errorHandler(e) {
104 assert.error(e);
105 assert.end();
106 }
107});
108
109tape('test for total ways', function (assert) {
110 changes.get('2017-02-02T19:00:00.000Z', '2017-03-07T19:00:00.000Z', null, null, null).then(result).catch(errorHandler);
111 function result(data) {
112 var d = data['2017-02-06T09:00:00.000Z'];
113 var sum = Object.keys(d).filter(u => d[u] && d[u].ways).reduce((s, u) => s + d[u].ways.c + d[u].ways.m + d[u].ways.d, 0);
114 assert.equal(sum, 2941);
115 assert.end();
116 }
117 function errorHandler(e) {
118 assert.error(e);
119 assert.end();
120 }
121});
122
123tape('test for total relations', function (assert) {
124 changes.get('2017-02-02T19:00:00.000Z', '2017-03-07T19:00:00.000Z', null, null, null).then(result).catch(errorHandler);
125 function result(data) {
126 var d = data['2017-02-06T09:00:00.000Z'];
127 var sum = Object.keys(d).filter(u => d[u] && d[u].relations).reduce((s, u) => s + d[u].relations.c + d[u].relations.m + d[u].relations.d, 0);
128 assert.equal(sum, 32);
129 assert.end();
130 }
131 function errorHandler(e) {
132 assert.error(e);
133 assert.end();
134 }
135});
136
137tape('test for total number changesets', function (assert) {
138 changes.get('2017-02-02T19:00:00.000Z', '2017-03-07T19:00:00.000Z', null, null, null).then(result).catch(errorHandler);
139 function result(data) {
140 var d = data['2017-02-06T09:00:00.000Z'];
141 var sum = Object.keys(d).filter(u => d[u] && d[u].changesets).reduce((s, u) => s + d[u].changesets.length, 0);
142 assert.equal(sum, 164);
143 assert.end();
144 }
145 function errorHandler(e) {
146 assert.error(e);
147 assert.end();
148 }
149});
150
151
152tape.onFinish(() => process.exit(0));