diff --git a/src/utils/beacon/geolocation.ts b/src/utils/beacon/geolocation.ts index e8923afbf2..efc3a9b44c 100644 --- a/src/utils/beacon/geolocation.ts +++ b/src/utils/beacon/geolocation.ts @@ -114,7 +114,8 @@ export const getGeoUri = (position: GenericPosition): string => { }; export const mapGeolocationPositionToTimedGeo = (position: GeolocationPosition): TimedGeoUri => { - return { timestamp: position.timestamp, geoUri: getGeoUri(genericPositionFromGeolocation(position)) }; + const genericPosition = genericPositionFromGeolocation(position); + return { timestamp: genericPosition.timestamp, geoUri: getGeoUri(genericPosition) }; }; /** diff --git a/test/stores/OwnBeaconStore-test.ts b/test/stores/OwnBeaconStore-test.ts index d44c12620c..66204580fc 100644 --- a/test/stores/OwnBeaconStore-test.ts +++ b/test/stores/OwnBeaconStore-test.ts @@ -37,7 +37,6 @@ import { } from "../test-utils"; import { makeBeaconInfoEvent, - makeGeolocationPosition, mockGeolocation, watchPositionMockImplementation, } from "../test-utils/beacon"; @@ -70,7 +69,6 @@ describe('OwnBeaconStore', () => { const room2Id = '$room2:server.org'; // returned by default geolocation mocks - const defaultLocation = makeGeolocationPosition({}); const defaultLocationUri = 'geo:54.001927,-8.253491;u=1'; // beacon_info events @@ -245,7 +243,7 @@ describe('OwnBeaconStore', () => { expect(mockClient.sendEvent).not.toHaveBeenCalled(); }); - it('does geolocation and sends location immediatley when user has live beacons', async () => { + it('does geolocation and sends location immediately when user has live beacons', async () => { localStorageGetSpy.mockReturnValue(JSON.stringify([ alicesRoom1BeaconInfo.getId(), alicesRoom2BeaconInfo.getId(), @@ -261,12 +259,12 @@ describe('OwnBeaconStore', () => { expect(mockClient.sendEvent).toHaveBeenCalledWith( room1Id, M_BEACON.name, - makeBeaconContent(defaultLocationUri, defaultLocation.timestamp, alicesRoom1BeaconInfo.getId()), + makeBeaconContent(defaultLocationUri, now, alicesRoom1BeaconInfo.getId()), ); expect(mockClient.sendEvent).toHaveBeenCalledWith( room2Id, M_BEACON.name, - makeBeaconContent(defaultLocationUri, defaultLocation.timestamp, alicesRoom2BeaconInfo.getId()), + makeBeaconContent(defaultLocationUri, now, alicesRoom2BeaconInfo.getId()), ); }); }); diff --git a/test/utils/beacon/geolocation-test.ts b/test/utils/beacon/geolocation-test.ts index f28c374838..9b64105e62 100644 --- a/test/utils/beacon/geolocation-test.ts +++ b/test/utils/beacon/geolocation-test.ts @@ -34,11 +34,16 @@ describe('geolocation utilities', () => { let geolocation; const defaultPosition = makeGeolocationPosition({}); + // 14.03.2022 16:15 + const now = 1647270879403; + beforeEach(() => { geolocation = mockGeolocation(); + jest.spyOn(Date, 'now').mockReturnValue(now); }); afterEach(() => { + jest.spyOn(Date, 'now').mockRestore(); jest.spyOn(logger, 'error').mockRestore(); }); @@ -136,7 +141,7 @@ describe('geolocation utilities', () => { describe('mapGeolocationPositionToTimedGeo()', () => { it('maps geolocation position correctly', () => { expect(mapGeolocationPositionToTimedGeo(defaultPosition)).toEqual({ - timestamp: 1647256791840, geoUri: 'geo:54.001927,-8.253491;u=1', + timestamp: now, geoUri: 'geo:54.001927,-8.253491;u=1', }); }); });