UNPKG

nominatim-browser

Version:

A Nominatim client that can be used from the browser.

57 lines (47 loc) 2.15 kB
import { geocode } from "../nominatim-browser"; import { Expect, AsyncTest, TestFixture, Timeout } from "alsatian"; @TestFixture(".geocode test fixture") export class GeocodeFixture { @AsyncTest(".getCoords(): Should return coordinates for a city/state/country") @Timeout(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"); } @AsyncTest(".getAddressWithCoords(): Should return address data with coordinates") @Timeout(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"); } }