File tree Expand file tree Collapse file tree 2 files changed +59
-6
lines changed
src/adapter/search-response-adapter Expand file tree Collapse file tree 2 files changed +59
-6
lines changed Original file line number Diff line number Diff line change 1+ import { adaptGeoResponse } from '../geo-reponse-adapter'
2+
3+ describe ( 'Geopoint adapter' , ( ) => {
4+ test ( '_geoloc field should be created in hit object with _geo fields' , ( ) => {
5+ const hits = [
6+ {
7+ id : 2 ,
8+ _geo : {
9+ lat : 1 ,
10+ lng : 2 ,
11+ } ,
12+ _formatted : {
13+ _geo : {
14+ lat : 1 ,
15+ lng : 2 ,
16+ } ,
17+ } ,
18+ } ,
19+ ]
20+
21+ const adaptedHits = adaptGeoResponse ( hits )
22+
23+ expect ( adaptedHits [ 0 ] . _geoloc ) . toEqual ( hits [ 0 ] . _geo )
24+ expect ( adaptedHits [ 0 ] . _geo ) . toEqual ( hits [ 0 ] . _geo )
25+ expect ( adaptedHits [ 0 ] . _formatted . _geoloc ) . toEqual ( hits [ 0 ] . _formatted . _geo )
26+ expect ( adaptedHits [ 0 ] . _formatted . _geo ) . toEqual ( hits [ 0 ] . _formatted . _geo )
27+ expect ( adaptedHits [ 0 ] . objectID ) . toBeDefined ( )
28+ expect ( adaptedHits [ 0 ] . _formatted . objectID ) . toEqual ( adaptedHits [ 0 ] . objectID )
29+ } )
30+
31+ test ( '_geoloc field should not be created in hit object without _geo fields' , ( ) => {
32+ const hits = [
33+ {
34+ id : 2 ,
35+ } ,
36+ {
37+ id : 1 ,
38+ _formatted : { } ,
39+ } ,
40+ ]
41+
42+ const adaptedHits = adaptGeoResponse ( hits )
43+
44+ expect ( adaptedHits [ 0 ] . _geoloc ) . toBeUndefined ( )
45+ expect ( adaptedHits [ 0 ] . _geo ) . toBeUndefined ( )
46+ expect ( adaptedHits [ 0 ] . _formatted ) . toBeUndefined ( )
47+ expect ( adaptedHits [ 1 ] . _geoloc ) . toBeUndefined ( )
48+ expect ( adaptedHits [ 1 ] . _geo ) . toBeUndefined ( )
49+ expect ( adaptedHits [ 1 ] . _formatted . _geoloc ) . toBeUndefined ( )
50+ expect ( adaptedHits [ 1 ] . _formatted . _geo ) . toBeUndefined ( )
51+ } )
52+ } )
Original file line number Diff line number Diff line change 44 */
55export function adaptGeoResponse ( hits : any [ ] ) : Array < Record < string , any > > {
66 for ( let i = 0 ; i < hits . length ; i ++ ) {
7+ const objectID = `${ i + Math . random ( ) * 1000000 } `
78 if ( hits [ i ] . _geo ) {
8- hits [ i ] . _geoloc = {
9- lat : hits [ i ] . _geo . lat ,
10- lng : hits [ i ] . _geo . lng ,
11- }
9+ hits [ i ] . _geoloc = hits [ i ] . _geo
10+ hits [ i ] . objectID = objectID
11+ }
1212
13- hits [ i ] . objectID = `${ i + Math . random ( ) * 1000000 } `
14- delete hits [ i ] . _geo
13+ if ( hits [ i ] . _formatted ?. _geo ) {
14+ hits [ i ] . _formatted . _geoloc = hits [ i ] . _formatted . _geo
15+ hits [ i ] . _formatted . objectID = objectID
1516 }
1617 }
1718 return hits
You can’t perform that action at this time.
0 commit comments