nominatim-browser
Version:
A Nominatim client that can be used from the browser.
57 lines (47 loc) • 2.15 kB
text/typescript
import { geocode } from "../nominatim-browser";
import { Expect, AsyncTest, TestFixture, Timeout } from "alsatian";
(".geocode test fixture")
export class GeocodeFixture {
(".getCoords(): Should return coordinates for a city/state/country")
(5000)
public async getCoords() {
const results = await geocode({
city: "Minneapolis",
state: "MN",
country: "US"
});
Expect(results.length >= 1).toBe(true);
const result = results[0];
Expect(typeof (result.place_id)).toBe("number");
Expect(typeof (result.licence)).toBe("string");
Expect(typeof (result.osm_id)).toBe("number");
Expect(typeof (result.lat)).toBe("string");
Expect(typeof (result.lon)).toBe("string");
Expect(result.display_name).toEqual("Minneapolis, Hennepin County, Minnesota, United States of America");
}
(".getAddressWithCoords(): Should return address data with coordinates")
(5000)
public async getAddressWithCoords() {
const results = await geocode({
city: "Minneapolis",
state: "MN",
country: "US",
addressdetails: true
});
Expect(results.length >= 1).toBe(true);
const result = results[0];
Expect(typeof(result.place_id)).toBe("number");
Expect(typeof(result.licence)).toBe("string");
Expect(typeof(result.osm_id)).toBe("number");
Expect(typeof(result.lat)).toBe("string");
Expect(typeof(result.lon)).toBe("string");
Expect(result.display_name).toEqual("Minneapolis, Hennepin County, Minnesota, United States of America");
Expect(result.address).not.toBeNull();
Expect(result.address).toBeDefined();
const address = result.address;
Expect(address.city).toEqual("Minneapolis");
Expect(address.county).toEqual("Hennepin County");
Expect(address.state).toEqual("Minnesota");
Expect(address.country).toEqual("United States of America");
}
}