UNPKG

matrix-react-sdk

Version:
70 lines (69 loc) 2.5 kB
import { MockedObject } from "jest-mock"; import { MatrixClient, MatrixEvent, Beacon, LocationAssetType } from "matrix-js-sdk/src/matrix"; type InfoContentProps = { timeout: number; isLive?: boolean; assetType?: LocationAssetType; description?: string; timestamp?: number; }; /** * Create an m.beacon_info event * all required properties are mocked * override with contentProps */ export declare const makeBeaconInfoEvent: (sender: string, roomId: string, contentProps?: Partial<InfoContentProps>, eventId?: string) => MatrixEvent; type ContentProps = { geoUri: string; timestamp: number; beaconInfoId: string; description?: string; }; /** * Create an m.beacon event * all required properties are mocked * override with contentProps */ export declare const makeBeaconEvent: (sender: string, contentProps?: Partial<ContentProps>, roomId?: string) => MatrixEvent; /** * Create a mock geolocation position * defaults all required properties */ export declare const makeGeolocationPosition: ({ timestamp, coords, }: { timestamp?: number; coords?: Partial<GeolocationCoordinates>; }) => GeolocationPosition; /** * Creates a basic mock of Geolocation * sets navigator.geolocation to the mock * and returns mock */ export declare const mockGeolocation: () => MockedObject<Geolocation>; /** * Creates a mock watchPosition implementation * that calls success callback at the provided delays * ``` * geolocation.watchPosition.mockImplementation([0, 1000, 5000, 50]) * ``` * will call the provided handler with a mock position at * next tick, 1000ms, 6000ms, 6050ms * * to produce errors provide an array of error codes * that will be applied to the delay with the same index * eg: * ``` * // return two good positions, then a permission denied error * geolocation.watchPosition.mockImplementation(watchPositionMockImplementation( * [0, 1000, 3000], [0, 0, 1]), * ); * ``` * See for error codes: https://developer.mozilla.org/en-US/docs/Web/API/GeolocationPositionError */ export declare const watchPositionMockImplementation: (delays: number[], errorCodes?: number[]) => (callback: PositionCallback, error: PositionErrorCallback) => number; /** * Creates a room with beacon events * sets given locations on beacons * returns beacons */ export declare const makeRoomWithBeacons: (roomId: string, mockClient: MockedObject<MatrixClient>, beaconInfoEvents: MatrixEvent[], locationEvents?: MatrixEvent[]) => Beacon[]; export {};