1- import { describe , expect , it , vi } from 'vitest' ;
2- import { testXMLHttpRequest } from './mockXMLHttpRequest ' ;
1+ import { afterEach , describe , expect , it , vi } from 'vitest' ;
2+ import { mockFetchRequest } from './mockFetchRequest ' ;
33import { Nominatim } from '../src/geocoders/nominatim' ;
44
55describe ( 'L.Control.Geocoder.Nominatim' , ( ) => {
6+ afterEach ( ( ) => vi . clearAllMocks ( ) ) ;
67 const geocoder = new Nominatim ( ) ;
78
8- it ( 'geocodes Innsbruck' , ( ) => {
9+ it ( 'geocodes Innsbruck' , async ( ) => {
910 const callback = vi . fn ( ) ;
1011
11- testXMLHttpRequest (
12+ mockFetchRequest (
1213 'https://nominatim.openstreetmap.org/search?q=innsbruck&limit=5&format=json&addressdetails=1' ,
1314 [
1415 {
@@ -23,8 +24,7 @@ describe('L.Control.Geocoder.Nominatim', () => {
2324 class : 'boundary' ,
2425 type : 'administrative' ,
2526 importance : 0.763909048330467 ,
26- icon :
27- 'https://nominatim.openstreetmap.org/images/mapicons/poi_boundary_administrative.p.20.png' ,
27+ icon : 'https://nominatim.openstreetmap.org/images/mapicons/poi_boundary_administrative.p.20.png' ,
2828 address : {
2929 city_district : 'Innsbruck' ,
3030 city : 'Innsbruck' ,
@@ -38,6 +38,7 @@ describe('L.Control.Geocoder.Nominatim', () => {
3838 ( ) => geocoder . geocode ( 'innsbruck' , callback )
3939 ) ;
4040
41+ await vi . waitUntil ( ( ) => callback . mock . calls . length ) ;
4142 const feature = callback . mock . calls [ 0 ] [ 0 ] [ 0 ] ;
4243 expect ( feature . name ) . toBe ( 'Innsbruck, Tyrol, Austria' ) ;
4344 expect ( feature . html ) . toBe (
@@ -54,10 +55,10 @@ describe('L.Control.Geocoder.Nominatim', () => {
5455 expect ( callback . mock . calls ) . toMatchSnapshot ( ) ;
5556 } ) ;
5657
57- it ( 'reverse geocodes 47.3/11.3' , ( ) => {
58+ it ( 'reverse geocodes 47.3/11.3' , async ( ) => {
5859 const callback = vi . fn ( ) ;
5960
60- testXMLHttpRequest (
61+ mockFetchRequest (
6162 'https://nominatim.openstreetmap.org/reverse?lat=47.3&lon=11.3&zoom=9&addressdetails=1&format=json' ,
6263 {
6364 place_id : 197718025 ,
@@ -78,6 +79,7 @@ describe('L.Control.Geocoder.Nominatim', () => {
7879 ( ) => geocoder . reverse ( { lat : 47.3 , lng : 11.3 } , 131000 , callback )
7980 ) ;
8081
82+ await vi . waitUntil ( ( ) => callback . mock . calls . length ) ;
8183 const feature = callback . mock . calls [ 0 ] [ 0 ] [ 0 ] ;
8284 expect ( feature . name ) . toBe ( 'Innsbruck-Land, Tyrol, Austria' ) ;
8385 expect ( feature . html ) . toBe ( '<span class="">Tyrol Austria</span>' ) ;
0 commit comments