first commit
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
var tomtomGeocoder = require('../../../../src/geo/geocoder/tomtom-geocoder');
|
||||
var API_KEY = 'fake_api_key';
|
||||
describe('tomtom-geocoder', function () {
|
||||
describe('.geocode', function () {
|
||||
it('should build the right fetch url (add address and apiKey)', function (done) {
|
||||
spyOn(window, 'fetch').and.returnValue(Promise.resolve({ json: function () { return { results: [] }; } }));
|
||||
tomtomGeocoder.geocode('fake_address', API_KEY).then(function (result) {
|
||||
var expectedFetchUrl = 'https://api.tomtom.com/search/2/search/fake_address.json?key=fake_api_key';
|
||||
expect(window.fetch).toHaveBeenCalledWith(expectedFetchUrl);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should geocode a city location', function (done) {
|
||||
spyOn(window, 'fetch').and.returnValue(Promise.resolve({ json: function () { return require('./tomtom-geocoder-response-0'); } }));
|
||||
tomtomGeocoder.geocode('Santander', API_KEY)
|
||||
.then(function (results) {
|
||||
expect(results).toBeDefined();
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('should return a well formated response [example 0]', function (done) {
|
||||
spyOn(window, 'fetch').and.returnValue(Promise.resolve({ json: function () { return require('./tomtom-geocoder-response-0'); } }));
|
||||
tomtomGeocoder.geocode('Santander', API_KEY)
|
||||
.then(function (results) {
|
||||
let bestCandidate = results[0];
|
||||
expect(bestCandidate.center).toBeDefined();
|
||||
expect(bestCandidate.center[0]).toEqual(43.46141); // lat
|
||||
expect(bestCandidate.center[1]).toEqual(-3.8093); // lon
|
||||
// Bbox
|
||||
expect(bestCandidate.boundingbox.south).toEqual(43.43446);
|
||||
expect(bestCandidate.boundingbox.west).toEqual(-3.88905);
|
||||
expect(bestCandidate.boundingbox.north).toEqual(43.49482);
|
||||
expect(bestCandidate.boundingbox.east).toEqual(-3.76325);
|
||||
// Type
|
||||
expect(bestCandidate.type).toEqual('localadmin');
|
||||
done();
|
||||
}).catch(console.error);
|
||||
});
|
||||
|
||||
it('should return an empty array when the response is empty', function (done) {
|
||||
spyOn(window, 'fetch').and.returnValue(Promise.resolve({ json: function () { return { results: [] }; } }));
|
||||
tomtomGeocoder.geocode('ABCDEFGHIJ', API_KEY)
|
||||
.then(function (result) {
|
||||
expect(result).toEqual([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user