Live location sharing - basic maximised beacon map (#8310)
* open a dialog with map centered around first beacon Signed-off-by: Kerry Archibald <kerrya@element.io> * add room member markers Signed-off-by: Kerry Archibald <kerrya@element.io> * fix unmount issue in smart marker Signed-off-by: Kerry Archibald <kerrya@element.io> * dont throw on no more live locations Signed-off-by: Kerry Archibald <kerrya@element.io> * cursor on beacon maps Signed-off-by: Kerry Archibald <kerrya@element.io> * fussy import ordering Signed-off-by: Kerry Archibald <kerrya@element.io> * test dialog opening from beacon body Signed-off-by: Kerry Archibald <kerrya@element.io> * test beaconmarker Signed-off-by: Kerry Archibald <kerrya@element.io> * test BeaconViewDialog Signed-off-by: Kerry Archibald <kerrya@element.io> * comment Signed-off-by: Kerry Archibald <kerrya@element.io> * use unstable prefix for wk tile_Server Signed-off-by: Kerry Archibald <kerrya@element.io> * unstable prefix for new m.tile_server use in test Signed-off-by: Kerry Archibald <kerrya@element.io>
This commit is contained in:
parent
1c215e2b71
commit
f95106d2c6
20 changed files with 894 additions and 56 deletions
|
@ -20,6 +20,7 @@ import { RoomMember } from 'matrix-js-sdk/src/matrix';
|
|||
import { LocationAssetType } from 'matrix-js-sdk/src/@types/location';
|
||||
|
||||
import LocationViewDialog from '../../../../src/components/views/location/LocationViewDialog';
|
||||
import { TILE_SERVER_WK_KEY } from '../../../../src/utils/WellKnownUtils';
|
||||
import { getMockClientWithEventEmitter, makeLocationEvent } from '../../../test-utils';
|
||||
|
||||
describe('<LocationViewDialog />', () => {
|
||||
|
@ -27,7 +28,7 @@ describe('<LocationViewDialog />', () => {
|
|||
const userId = '@user:server';
|
||||
const mockClient = getMockClientWithEventEmitter({
|
||||
getClientWellKnown: jest.fn().mockReturnValue({
|
||||
"m.tile_server": { map_style_url: 'maps.com' },
|
||||
[TILE_SERVER_WK_KEY.name]: { map_style_url: 'maps.com' },
|
||||
}),
|
||||
isGuest: jest.fn().mockReturnValue(false),
|
||||
});
|
||||
|
|
|
@ -24,6 +24,7 @@ import { logger } from 'matrix-js-sdk/src/logger';
|
|||
import Map from '../../../../src/components/views/location/Map';
|
||||
import { findByTestId, getMockClientWithEventEmitter } from '../../../test-utils';
|
||||
import MatrixClientContext from '../../../../src/contexts/MatrixClientContext';
|
||||
import { TILE_SERVER_WK_KEY } from '../../../../src/utils/WellKnownUtils';
|
||||
|
||||
describe('<Map />', () => {
|
||||
const defaultProps = {
|
||||
|
@ -34,7 +35,7 @@ describe('<Map />', () => {
|
|||
};
|
||||
const matrixClient = getMockClientWithEventEmitter({
|
||||
getClientWellKnown: jest.fn().mockReturnValue({
|
||||
"m.tile_server": { map_style_url: 'maps.com' },
|
||||
[TILE_SERVER_WK_KEY.name]: { map_style_url: 'maps.com' },
|
||||
}),
|
||||
});
|
||||
const getComponent = (props = {}) =>
|
||||
|
@ -46,7 +47,7 @@ describe('<Map />', () => {
|
|||
beforeEach(() => {
|
||||
jest.clearAllMocks();
|
||||
matrixClient.getClientWellKnown.mockReturnValue({
|
||||
"m.tile_server": { map_style_url: 'maps.com' },
|
||||
[TILE_SERVER_WK_KEY.name]: { map_style_url: 'maps.com' },
|
||||
});
|
||||
|
||||
jest.spyOn(logger, 'error').mockRestore();
|
||||
|
@ -65,7 +66,7 @@ describe('<Map />', () => {
|
|||
|
||||
act(() => {
|
||||
matrixClient.emit(ClientEvent.ClientWellKnown, {
|
||||
"m.tile_server": { map_style_url: 'new.maps.com' },
|
||||
[TILE_SERVER_WK_KEY.name]: { map_style_url: 'new.maps.com' },
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -77,7 +78,7 @@ describe('<Map />', () => {
|
|||
|
||||
act(() => {
|
||||
matrixClient.emit(ClientEvent.ClientWellKnown, {
|
||||
"m.tile_server": { map_style_url: undefined },
|
||||
[TILE_SERVER_WK_KEY.name]: { map_style_url: undefined },
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -48,22 +48,24 @@ exports[`<LocationViewDialog /> renders map correctly 1`] = `
|
|||
}
|
||||
}
|
||||
>
|
||||
<ForwardRef
|
||||
id="mx_LocationViewDialog_$2-marker"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker mx_Marker_defaultColor"
|
||||
<span>
|
||||
<ForwardRef
|
||||
id="mx_LocationViewDialog_$2-marker"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_border"
|
||||
className="mx_Marker mx_Marker_defaultColor"
|
||||
id="mx_LocationViewDialog_$2-marker"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_icon"
|
||||
/>
|
||||
className="mx_Marker_border"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_icon"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ForwardRef>
|
||||
</ForwardRef>
|
||||
</span>
|
||||
</SmartMarker>
|
||||
<ZoomButtons
|
||||
map={
|
||||
|
|
|
@ -18,19 +18,21 @@ exports[`<SmartMarker /> creates a marker on mount 1`] = `
|
|||
}
|
||||
}
|
||||
>
|
||||
<ForwardRef>
|
||||
<div
|
||||
className="mx_Marker mx_Marker_defaultColor"
|
||||
>
|
||||
<span>
|
||||
<ForwardRef>
|
||||
<div
|
||||
className="mx_Marker_border"
|
||||
className="mx_Marker mx_Marker_defaultColor"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_icon"
|
||||
/>
|
||||
className="mx_Marker_border"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_icon"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ForwardRef>
|
||||
</ForwardRef>
|
||||
</span>
|
||||
</SmartMarker>
|
||||
`;
|
||||
|
||||
|
@ -52,18 +54,20 @@ exports[`<SmartMarker /> removes marker on unmount 1`] = `
|
|||
}
|
||||
}
|
||||
>
|
||||
<ForwardRef>
|
||||
<div
|
||||
className="mx_Marker mx_Marker_defaultColor"
|
||||
>
|
||||
<span>
|
||||
<ForwardRef>
|
||||
<div
|
||||
className="mx_Marker_border"
|
||||
className="mx_Marker mx_Marker_defaultColor"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_icon"
|
||||
/>
|
||||
className="mx_Marker_border"
|
||||
>
|
||||
<div
|
||||
className="mx_Marker_icon"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ForwardRef>
|
||||
</ForwardRef>
|
||||
</span>
|
||||
</SmartMarker>
|
||||
`;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue