Apply prettier formatting
This commit is contained in:
parent
1cac306093
commit
526645c791
1576 changed files with 65385 additions and 62478 deletions
|
@ -14,15 +14,15 @@ See the License for the specific language governing permissions and
|
|||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import React from "react";
|
||||
import { act } from "react-dom/test-utils";
|
||||
// eslint-disable-next-line deprecate/import
|
||||
import { mount } from 'enzyme';
|
||||
import { Room, Beacon, BeaconEvent, getBeaconInfoIdentifier } from 'matrix-js-sdk/src/matrix';
|
||||
import { logger } from 'matrix-js-sdk/src/logger';
|
||||
import { mount } from "enzyme";
|
||||
import { Room, Beacon, BeaconEvent, getBeaconInfoIdentifier } from "matrix-js-sdk/src/matrix";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
|
||||
import RoomLiveShareWarning from '../../../../src/components/views/beacon/RoomLiveShareWarning';
|
||||
import { OwnBeaconStore, OwnBeaconStoreEvent } from '../../../../src/stores/OwnBeaconStore';
|
||||
import RoomLiveShareWarning from "../../../../src/components/views/beacon/RoomLiveShareWarning";
|
||||
import { OwnBeaconStore, OwnBeaconStoreEvent } from "../../../../src/stores/OwnBeaconStore";
|
||||
import {
|
||||
advanceDateAndTime,
|
||||
findByTestId,
|
||||
|
@ -32,20 +32,20 @@ import {
|
|||
mockGeolocation,
|
||||
resetAsyncStoreWithClient,
|
||||
setupAsyncStoreWithClient,
|
||||
} from '../../../test-utils';
|
||||
import defaultDispatcher from '../../../../src/dispatcher/dispatcher';
|
||||
import { Action } from '../../../../src/dispatcher/actions';
|
||||
} from "../../../test-utils";
|
||||
import defaultDispatcher from "../../../../src/dispatcher/dispatcher";
|
||||
import { Action } from "../../../../src/dispatcher/actions";
|
||||
|
||||
jest.useFakeTimers();
|
||||
describe('<RoomLiveShareWarning />', () => {
|
||||
const aliceId = '@alice:server.org';
|
||||
const room1Id = '$room1:server.org';
|
||||
const room2Id = '$room2:server.org';
|
||||
const room3Id = '$room3:server.org';
|
||||
describe("<RoomLiveShareWarning />", () => {
|
||||
const aliceId = "@alice:server.org";
|
||||
const room1Id = "$room1:server.org";
|
||||
const room2Id = "$room2:server.org";
|
||||
const room3Id = "$room3:server.org";
|
||||
const mockClient = getMockClientWithEventEmitter({
|
||||
getVisibleRooms: jest.fn().mockReturnValue([]),
|
||||
getUserId: jest.fn().mockReturnValue(aliceId),
|
||||
unstable_setLiveBeacon: jest.fn().mockResolvedValue({ event_id: '1' }),
|
||||
unstable_setLiveBeacon: jest.fn().mockResolvedValue({ event_id: "1" }),
|
||||
sendEvent: jest.fn(),
|
||||
});
|
||||
|
||||
|
@ -54,14 +54,19 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
const MINUTE_MS = 60000;
|
||||
const HOUR_MS = 3600000;
|
||||
// mock the date so events are stable for snapshots etc
|
||||
jest.spyOn(global.Date, 'now').mockReturnValue(now);
|
||||
const room1Beacon1 = makeBeaconInfoEvent(aliceId, room1Id, {
|
||||
isLive: true,
|
||||
timeout: HOUR_MS,
|
||||
}, '$0');
|
||||
const room2Beacon1 = makeBeaconInfoEvent(aliceId, room2Id, { isLive: true, timeout: HOUR_MS }, '$1');
|
||||
const room2Beacon2 = makeBeaconInfoEvent(aliceId, room2Id, { isLive: true, timeout: HOUR_MS * 12 }, '$2');
|
||||
const room3Beacon1 = makeBeaconInfoEvent(aliceId, room3Id, { isLive: true, timeout: HOUR_MS }, '$3');
|
||||
jest.spyOn(global.Date, "now").mockReturnValue(now);
|
||||
const room1Beacon1 = makeBeaconInfoEvent(
|
||||
aliceId,
|
||||
room1Id,
|
||||
{
|
||||
isLive: true,
|
||||
timeout: HOUR_MS,
|
||||
},
|
||||
"$0",
|
||||
);
|
||||
const room2Beacon1 = makeBeaconInfoEvent(aliceId, room2Id, { isLive: true, timeout: HOUR_MS }, "$1");
|
||||
const room2Beacon2 = makeBeaconInfoEvent(aliceId, room2Id, { isLive: true, timeout: HOUR_MS * 12 }, "$2");
|
||||
const room3Beacon1 = makeBeaconInfoEvent(aliceId, room3Id, { isLive: true, timeout: HOUR_MS }, "$3");
|
||||
|
||||
// make fresh rooms every time
|
||||
// as we update room state
|
||||
|
@ -96,42 +101,39 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
return component;
|
||||
};
|
||||
|
||||
const localStorageSpy = jest.spyOn(localStorage.__proto__, 'getItem').mockReturnValue(undefined);
|
||||
const localStorageSpy = jest.spyOn(localStorage.__proto__, "getItem").mockReturnValue(undefined);
|
||||
|
||||
beforeEach(() => {
|
||||
mockGeolocation();
|
||||
jest.spyOn(global.Date, 'now').mockReturnValue(now);
|
||||
mockClient.unstable_setLiveBeacon.mockReset().mockResolvedValue({ event_id: '1' });
|
||||
jest.spyOn(global.Date, "now").mockReturnValue(now);
|
||||
mockClient.unstable_setLiveBeacon.mockReset().mockResolvedValue({ event_id: "1" });
|
||||
|
||||
// assume all beacons were created on this device
|
||||
localStorageSpy.mockReturnValue(JSON.stringify([
|
||||
room1Beacon1.getId(),
|
||||
room2Beacon1.getId(),
|
||||
room2Beacon2.getId(),
|
||||
room3Beacon1.getId(),
|
||||
]));
|
||||
localStorageSpy.mockReturnValue(
|
||||
JSON.stringify([room1Beacon1.getId(), room2Beacon1.getId(), room2Beacon2.getId(), room3Beacon1.getId()]),
|
||||
);
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
jest.spyOn(OwnBeaconStore.instance, 'beaconHasLocationPublishError').mockRestore();
|
||||
jest.spyOn(OwnBeaconStore.instance, "beaconHasLocationPublishError").mockRestore();
|
||||
await resetAsyncStoreWithClient(OwnBeaconStore.instance);
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
jest.spyOn(global.Date, 'now').mockRestore();
|
||||
jest.spyOn(global.Date, "now").mockRestore();
|
||||
localStorageSpy.mockRestore();
|
||||
jest.spyOn(defaultDispatcher, 'dispatch').mockRestore();
|
||||
jest.spyOn(defaultDispatcher, "dispatch").mockRestore();
|
||||
});
|
||||
|
||||
const getExpiryText = wrapper => findByTestId(wrapper, 'room-live-share-expiry').text();
|
||||
const getExpiryText = (wrapper) => findByTestId(wrapper, "room-live-share-expiry").text();
|
||||
|
||||
it('renders nothing when user has no live beacons at all', async () => {
|
||||
it("renders nothing when user has no live beacons at all", async () => {
|
||||
await makeOwnBeaconStore();
|
||||
const component = getComponent();
|
||||
expect(component.html()).toBe(null);
|
||||
});
|
||||
|
||||
it('renders nothing when user has no live beacons in room', async () => {
|
||||
it("renders nothing when user has no live beacons in room", async () => {
|
||||
await act(async () => {
|
||||
await makeRoomsWithStateEvents([room2Beacon1]);
|
||||
await makeOwnBeaconStore();
|
||||
|
@ -140,8 +142,8 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(component.html()).toBe(null);
|
||||
});
|
||||
|
||||
it('does not render when geolocation is not working', async () => {
|
||||
jest.spyOn(logger, 'error').mockImplementation(() => { });
|
||||
it("does not render when geolocation is not working", async () => {
|
||||
jest.spyOn(logger, "error").mockImplementation(() => {});
|
||||
// @ts-ignore
|
||||
navigator.geolocation = undefined;
|
||||
await act(async () => {
|
||||
|
@ -155,7 +157,7 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(component.html()).toBeNull();
|
||||
});
|
||||
|
||||
describe('when user has live beacons and geolocation is available', () => {
|
||||
describe("when user has live beacons and geolocation is available", () => {
|
||||
beforeEach(async () => {
|
||||
await act(async () => {
|
||||
await makeRoomsWithStateEvents([room1Beacon1, room2Beacon1, room2Beacon2]);
|
||||
|
@ -163,23 +165,23 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
});
|
||||
});
|
||||
|
||||
it('renders correctly with one live beacon in room', () => {
|
||||
it("renders correctly with one live beacon in room", () => {
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
// beacons have generated ids that break snapshots
|
||||
// assert on html
|
||||
expect(component.html()).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it('renders correctly with two live beacons in room', () => {
|
||||
it("renders correctly with two live beacons in room", () => {
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
// beacons have generated ids that break snapshots
|
||||
// assert on html
|
||||
expect(component.html()).toMatchSnapshot();
|
||||
// later expiry displayed
|
||||
expect(getExpiryText(component)).toEqual('12h left');
|
||||
expect(getExpiryText(component)).toEqual("12h left");
|
||||
});
|
||||
|
||||
it('removes itself when user stops having live beacons', async () => {
|
||||
it("removes itself when user stops having live beacons", async () => {
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
// started out rendered
|
||||
expect(component.html()).toBeTruthy();
|
||||
|
@ -196,7 +198,7 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(component.html()).toBe(null);
|
||||
});
|
||||
|
||||
it('removes itself when user stops monitoring live position', async () => {
|
||||
it("removes itself when user stops monitoring live position", async () => {
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
// started out rendered
|
||||
expect(component.html()).toBeTruthy();
|
||||
|
@ -212,7 +214,7 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(component.html()).toBe(null);
|
||||
});
|
||||
|
||||
it('renders when user adds a live beacon', async () => {
|
||||
it("renders when user adds a live beacon", async () => {
|
||||
const component = getComponent({ roomId: room3Id });
|
||||
// started out not rendered
|
||||
expect(component.html()).toBeFalsy();
|
||||
|
@ -225,40 +227,45 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(component.html()).toBeTruthy();
|
||||
});
|
||||
|
||||
it('updates beacon time left periodically', () => {
|
||||
it("updates beacon time left periodically", () => {
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
expect(getExpiryText(component)).toEqual('1h left');
|
||||
expect(getExpiryText(component)).toEqual("1h left");
|
||||
|
||||
act(() => {
|
||||
advanceDateAndTime(MINUTE_MS * 25);
|
||||
});
|
||||
|
||||
expect(getExpiryText(component)).toEqual('35m left');
|
||||
expect(getExpiryText(component)).toEqual("35m left");
|
||||
});
|
||||
|
||||
it('updates beacon time left when beacon updates', () => {
|
||||
it("updates beacon time left when beacon updates", () => {
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
expect(getExpiryText(component)).toEqual('1h left');
|
||||
expect(getExpiryText(component)).toEqual("1h left");
|
||||
|
||||
expect(getExpiryText(component)).toEqual('1h left');
|
||||
expect(getExpiryText(component)).toEqual("1h left");
|
||||
|
||||
act(() => {
|
||||
const beacon = OwnBeaconStore.instance.getBeaconById(getBeaconInfoIdentifier(room1Beacon1));
|
||||
const room1Beacon1Update = makeBeaconInfoEvent(aliceId, room1Id, {
|
||||
isLive: true,
|
||||
timeout: 3 * HOUR_MS,
|
||||
}, '$0');
|
||||
const room1Beacon1Update = makeBeaconInfoEvent(
|
||||
aliceId,
|
||||
room1Id,
|
||||
{
|
||||
isLive: true,
|
||||
timeout: 3 * HOUR_MS,
|
||||
},
|
||||
"$0",
|
||||
);
|
||||
beacon.update(room1Beacon1Update);
|
||||
});
|
||||
|
||||
// update to expiry of new beacon
|
||||
expect(getExpiryText(component)).toEqual('3h left');
|
||||
expect(getExpiryText(component)).toEqual("3h left");
|
||||
});
|
||||
|
||||
it('clears expiry time interval on unmount', () => {
|
||||
const clearIntervalSpy = jest.spyOn(global, 'clearInterval');
|
||||
it("clears expiry time interval on unmount", () => {
|
||||
const clearIntervalSpy = jest.spyOn(global, "clearInterval");
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
expect(getExpiryText(component)).toEqual('1h left');
|
||||
expect(getExpiryText(component)).toEqual("1h left");
|
||||
|
||||
act(() => {
|
||||
component.unmount();
|
||||
|
@ -267,12 +274,12 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(clearIntervalSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('navigates to beacon tile on click', () => {
|
||||
const dispatcherSpy = jest.spyOn(defaultDispatcher, 'dispatch');
|
||||
it("navigates to beacon tile on click", () => {
|
||||
const dispatcherSpy = jest.spyOn(defaultDispatcher, "dispatch");
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
|
||||
act(() => {
|
||||
component.simulate('click');
|
||||
component.simulate("click");
|
||||
});
|
||||
|
||||
expect(dispatcherSpy).toHaveBeenCalledWith({
|
||||
|
@ -285,30 +292,30 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('stopping beacons', () => {
|
||||
it('stops beacon on stop sharing click', () => {
|
||||
describe("stopping beacons", () => {
|
||||
it("stops beacon on stop sharing click", () => {
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
|
||||
act(() => {
|
||||
findByTestId(component, 'room-live-share-primary-button').at(0).simulate('click');
|
||||
findByTestId(component, "room-live-share-primary-button").at(0).simulate("click");
|
||||
component.setProps({});
|
||||
});
|
||||
|
||||
expect(mockClient.unstable_setLiveBeacon).toHaveBeenCalled();
|
||||
expect(component.find('Spinner').length).toBeTruthy();
|
||||
expect(findByTestId(component, 'room-live-share-primary-button').at(0).props().disabled).toBeTruthy();
|
||||
expect(component.find("Spinner").length).toBeTruthy();
|
||||
expect(findByTestId(component, "room-live-share-primary-button").at(0).props().disabled).toBeTruthy();
|
||||
});
|
||||
|
||||
it('displays error when stop sharing fails', async () => {
|
||||
it("displays error when stop sharing fails", async () => {
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
|
||||
// fail first time
|
||||
mockClient.unstable_setLiveBeacon
|
||||
.mockRejectedValueOnce(new Error('oups'))
|
||||
.mockResolvedValue(({ event_id: '1' }));
|
||||
.mockRejectedValueOnce(new Error("oups"))
|
||||
.mockResolvedValue({ event_id: "1" });
|
||||
|
||||
await act(async () => {
|
||||
findByTestId(component, 'room-live-share-primary-button').at(0).simulate('click');
|
||||
findByTestId(component, "room-live-share-primary-button").at(0).simulate("click");
|
||||
await flushPromisesWithFakeTimers();
|
||||
});
|
||||
component.setProps({});
|
||||
|
@ -316,20 +323,20 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
expect(component.html()).toMatchSnapshot();
|
||||
|
||||
act(() => {
|
||||
findByTestId(component, 'room-live-share-primary-button').at(0).simulate('click');
|
||||
findByTestId(component, "room-live-share-primary-button").at(0).simulate("click");
|
||||
component.setProps({});
|
||||
});
|
||||
|
||||
expect(mockClient.unstable_setLiveBeacon).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
|
||||
it('displays again with correct state after stopping a beacon', () => {
|
||||
it("displays again with correct state after stopping a beacon", () => {
|
||||
// make sure the loading state is reset correctly after removing a beacon
|
||||
const component = getComponent({ roomId: room1Id });
|
||||
|
||||
// stop the beacon
|
||||
act(() => {
|
||||
findByTestId(component, 'room-live-share-primary-button').at(0).simulate('click');
|
||||
findByTestId(component, "room-live-share-primary-button").at(0).simulate("click");
|
||||
});
|
||||
// time travel until room1Beacon1 is expired
|
||||
act(() => {
|
||||
|
@ -345,28 +352,30 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
});
|
||||
|
||||
// button not disabled and expiry time shown
|
||||
expect(findByTestId(component, 'room-live-share-primary-button').at(0).props().disabled).toBeFalsy();
|
||||
expect(findByTestId(component, 'room-live-share-expiry').text()).toEqual('1h left');
|
||||
expect(findByTestId(component, "room-live-share-primary-button").at(0).props().disabled).toBeFalsy();
|
||||
expect(findByTestId(component, "room-live-share-expiry").text()).toEqual("1h left");
|
||||
});
|
||||
});
|
||||
|
||||
describe('with location publish errors', () => {
|
||||
it('displays location publish error when mounted with location publish errors', async () => {
|
||||
const locationPublishErrorSpy = jest.spyOn(OwnBeaconStore.instance, 'beaconHasLocationPublishError')
|
||||
describe("with location publish errors", () => {
|
||||
it("displays location publish error when mounted with location publish errors", async () => {
|
||||
const locationPublishErrorSpy = jest
|
||||
.spyOn(OwnBeaconStore.instance, "beaconHasLocationPublishError")
|
||||
.mockReturnValue(true);
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
|
||||
expect(component).toMatchSnapshot();
|
||||
expect(locationPublishErrorSpy).toHaveBeenCalledWith(
|
||||
getBeaconInfoIdentifier(room2Beacon1), 0, [getBeaconInfoIdentifier(room2Beacon1)],
|
||||
);
|
||||
expect(locationPublishErrorSpy).toHaveBeenCalledWith(getBeaconInfoIdentifier(room2Beacon1), 0, [
|
||||
getBeaconInfoIdentifier(room2Beacon1),
|
||||
]);
|
||||
});
|
||||
|
||||
it(
|
||||
'displays location publish error when locationPublishError event is emitted' +
|
||||
' and beacons have errors',
|
||||
"displays location publish error when locationPublishError event is emitted" +
|
||||
" and beacons have errors",
|
||||
async () => {
|
||||
const locationPublishErrorSpy = jest.spyOn(OwnBeaconStore.instance, 'beaconHasLocationPublishError')
|
||||
const locationPublishErrorSpy = jest
|
||||
.spyOn(OwnBeaconStore.instance, "beaconHasLocationPublishError")
|
||||
.mockReturnValue(false);
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
|
||||
|
@ -374,20 +383,23 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
act(() => {
|
||||
locationPublishErrorSpy.mockReturnValue(true);
|
||||
OwnBeaconStore.instance.emit(
|
||||
OwnBeaconStoreEvent.LocationPublishError, getBeaconInfoIdentifier(room2Beacon1),
|
||||
OwnBeaconStoreEvent.LocationPublishError,
|
||||
getBeaconInfoIdentifier(room2Beacon1),
|
||||
);
|
||||
});
|
||||
component.setProps({});
|
||||
|
||||
// renders wire error ui
|
||||
expect(component.find('.mx_RoomLiveShareWarning_label').text()).toEqual(
|
||||
'An error occurred whilst sharing your live location, please try again',
|
||||
expect(component.find(".mx_RoomLiveShareWarning_label").text()).toEqual(
|
||||
"An error occurred whilst sharing your live location, please try again",
|
||||
);
|
||||
expect(findByTestId(component, 'room-live-share-wire-error-close-button').length).toBeTruthy();
|
||||
});
|
||||
expect(findByTestId(component, "room-live-share-wire-error-close-button").length).toBeTruthy();
|
||||
},
|
||||
);
|
||||
|
||||
it('stops displaying wire error when errors are cleared', async () => {
|
||||
const locationPublishErrorSpy = jest.spyOn(OwnBeaconStore.instance, 'beaconHasLocationPublishError')
|
||||
it("stops displaying wire error when errors are cleared", async () => {
|
||||
const locationPublishErrorSpy = jest
|
||||
.spyOn(OwnBeaconStore.instance, "beaconHasLocationPublishError")
|
||||
.mockReturnValue(true);
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
|
||||
|
@ -395,39 +407,40 @@ describe('<RoomLiveShareWarning />', () => {
|
|||
act(() => {
|
||||
locationPublishErrorSpy.mockReturnValue(false);
|
||||
OwnBeaconStore.instance.emit(
|
||||
OwnBeaconStoreEvent.LocationPublishError, getBeaconInfoIdentifier(room2Beacon1),
|
||||
OwnBeaconStoreEvent.LocationPublishError,
|
||||
getBeaconInfoIdentifier(room2Beacon1),
|
||||
);
|
||||
});
|
||||
component.setProps({});
|
||||
|
||||
// renders error-free ui
|
||||
expect(component.find('.mx_RoomLiveShareWarning_label').text()).toEqual(
|
||||
'You are sharing your live location',
|
||||
expect(component.find(".mx_RoomLiveShareWarning_label").text()).toEqual(
|
||||
"You are sharing your live location",
|
||||
);
|
||||
expect(findByTestId(component, 'room-live-share-wire-error-close-button').length).toBeFalsy();
|
||||
expect(findByTestId(component, "room-live-share-wire-error-close-button").length).toBeFalsy();
|
||||
});
|
||||
|
||||
it('clicking retry button resets location publish errors', async () => {
|
||||
jest.spyOn(OwnBeaconStore.instance, 'beaconHasLocationPublishError').mockReturnValue(true);
|
||||
const resetErrorSpy = jest.spyOn(OwnBeaconStore.instance, 'resetLocationPublishError');
|
||||
it("clicking retry button resets location publish errors", async () => {
|
||||
jest.spyOn(OwnBeaconStore.instance, "beaconHasLocationPublishError").mockReturnValue(true);
|
||||
const resetErrorSpy = jest.spyOn(OwnBeaconStore.instance, "resetLocationPublishError");
|
||||
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
|
||||
act(() => {
|
||||
findByTestId(component, 'room-live-share-primary-button').at(0).simulate('click');
|
||||
findByTestId(component, "room-live-share-primary-button").at(0).simulate("click");
|
||||
});
|
||||
|
||||
expect(resetErrorSpy).toHaveBeenCalledWith(getBeaconInfoIdentifier(room2Beacon1));
|
||||
});
|
||||
|
||||
it('clicking close button stops beacons', async () => {
|
||||
jest.spyOn(OwnBeaconStore.instance, 'beaconHasLocationPublishError').mockReturnValue(true);
|
||||
const stopBeaconSpy = jest.spyOn(OwnBeaconStore.instance, 'stopBeacon');
|
||||
it("clicking close button stops beacons", async () => {
|
||||
jest.spyOn(OwnBeaconStore.instance, "beaconHasLocationPublishError").mockReturnValue(true);
|
||||
const stopBeaconSpy = jest.spyOn(OwnBeaconStore.instance, "stopBeacon");
|
||||
|
||||
const component = getComponent({ roomId: room2Id });
|
||||
|
||||
act(() => {
|
||||
findByTestId(component, 'room-live-share-wire-error-close-button').at(0).simulate('click');
|
||||
findByTestId(component, "room-live-share-wire-error-close-button").at(0).simulate("click");
|
||||
});
|
||||
|
||||
expect(stopBeaconSpy).toHaveBeenCalledWith(getBeaconInfoIdentifier(room2Beacon1));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue