-
-
Notifications
You must be signed in to change notification settings - Fork 213
/
Copy pathopenmapquestgeocoder.test.js
87 lines (73 loc) · 2.29 KB
/
openmapquestgeocoder.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
(function () {
var chai = require('chai'),
should = chai.should(),
expect = chai.expect,
sinon = require('sinon');
var MapQuestGeocoder = require('../../lib/geocoder/openmapquestgeocoder.js');
var HttpAdapter = require('../../lib/httpadapter/fetchadapter.js');
var mockedHttpAdapter = {
get: function () {}
};
describe('MapQuestGeocoder', () => {
describe('#constructor', () => {
test('an http adapter must be set', () => {
expect(function () {
new MapQuestGeocoder();
}).to.throw(Error, 'OpenMapQuestGeocoder need an httpAdapter');
});
test('an apiKey must be set', () => {
expect(function () {
new MapQuestGeocoder(mockedHttpAdapter);
}).to.throw(Error, 'OpenMapQuestGeocoder needs an apiKey');
});
test('Should be an instance of MapQuestGeocoder', () => {
var mapquestAdapter = new MapQuestGeocoder(
mockedHttpAdapter,
'API_KEY'
);
mapquestAdapter.should.be.instanceof(MapQuestGeocoder);
});
});
describe('#geocode', () => {
test('Should not accept IPv4', () => {
var mapquestAdapter = new MapQuestGeocoder(
mockedHttpAdapter,
'API_KEY'
);
expect(function () {
mapquestAdapter.geocode('127.0.0.1');
}).to.throw(
Error,
'OpenMapQuestGeocoder does not support geocoding IPv4'
);
});
test('Should not accept IPv6', () => {
var mapquestAdapter = new MapQuestGeocoder(
mockedHttpAdapter,
'API_KEY'
);
expect(function () {
mapquestAdapter.geocode('2001:0db8:0000:85a3:0000:0000:ac1f:8001');
}).to.throw(
Error,
'OpenMapQuestGeocoder does not support geocoding IPv6'
);
});
});
describe('#reverse', () => {
test('Should call httpAdapter get method', () => {
var mock = sinon.mock(mockedHttpAdapter);
mock
.expects('get')
.once()
.returns({ then: function () {} });
var mapquestAdapter = new MapQuestGeocoder(
mockedHttpAdapter,
'API_KEY'
);
mapquestAdapter.reverse({ lat: 10.0235, lon: -2.3662 });
mock.verify();
});
});
});
})();