From 9a5e7d8179d44bd713d8b66f8bf40c57d87cf11d Mon Sep 17 00:00:00 2001 From: gabrielburnworth Date: Wed, 15 May 2019 09:15:18 -0700 Subject: [PATCH] update onBroadcast --- .../connect_device/event_listeners_test.ts | 3 ++- .../__tests__/connect_device/index_test.ts | 11 ++--------- frontend/connectivity/connect_device.ts | 17 ++++++++--------- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/frontend/connectivity/__tests__/connect_device/event_listeners_test.ts b/frontend/connectivity/__tests__/connect_device/event_listeners_test.ts index f20ce0c46..ac1f6e95d 100644 --- a/frontend/connectivity/__tests__/connect_device/event_listeners_test.ts +++ b/frontend/connectivity/__tests__/connect_device/event_listeners_test.ts @@ -14,7 +14,7 @@ jest.mock("../../../device", () => { return { getDevice: () => mockBot }; }); jest.mock("../../ping_mqtt", () => { return { startPinging: jest.fn() }; }); import { getDevice } from "../../../device"; -import { attachEventListeners } from "../../connect_device"; +import { attachEventListeners, BROADCAST_CHANNEL } from "../../connect_device"; import { startPinging } from "../../ping_mqtt"; describe("attachEventListeners", () => { @@ -30,6 +30,7 @@ describe("attachEventListeners", () => { "online", "sent", "status_v8", + BROADCAST_CHANNEL, ].map(e => expect(dev.on).toHaveBeenCalledWith(e, expect.any(Function))); [ "message", diff --git a/frontend/connectivity/__tests__/connect_device/index_test.ts b/frontend/connectivity/__tests__/connect_device/index_test.ts index a51625175..0136b4536 100644 --- a/frontend/connectivity/__tests__/connect_device/index_test.ts +++ b/frontend/connectivity/__tests__/connect_device/index_test.ts @@ -27,7 +27,6 @@ import { onMalformed, speakLogAloud, onPublicBroadcast, - BROADCAST_CHANNEL, } from "../../connect_device"; import { onLogs } from "../../log_handlers"; import { Actions, Content } from "../../../constants"; @@ -225,7 +224,7 @@ describe("onPublicBroadcast", () => { it("triggers when appropriate", () => { location.assign = jest.fn(); window.confirm = jest.fn(() => true); - onPublicBroadcast(BROADCAST_CHANNEL, {}); + onPublicBroadcast({}); expect(window.confirm).toHaveBeenCalledWith(Content.FORCE_REFRESH_CONFIRM); expect(location.assign).toHaveBeenCalled(); }); @@ -233,14 +232,8 @@ describe("onPublicBroadcast", () => { it("allows cancellation of refresh", () => { window.confirm = jest.fn(() => false); window.alert = jest.fn(); - onPublicBroadcast(BROADCAST_CHANNEL, {}); + onPublicBroadcast({}); expect(window.alert).toHaveBeenCalledWith(Content.FORCE_REFRESH_CANCEL_WARNING); expect(location.assign).not.toHaveBeenCalled(); }); - - it("does not trigger under usual circumstances", () => { - window.confirm = jest.fn(() => false); - onPublicBroadcast("NOT" + BROADCAST_CHANNEL, {}); - expect(window.confirm).not.toHaveBeenCalled(); - }); }); diff --git a/frontend/connectivity/connect_device.ts b/frontend/connectivity/connect_device.ts index 637baaca5..6cdc7baf3 100644 --- a/frontend/connectivity/connect_device.ts +++ b/frontend/connectivity/connect_device.ts @@ -165,13 +165,12 @@ export const onReconnect = export const BROADCAST_CHANNEL = "public_broadcast"; -export function onPublicBroadcast(chan: string, _payl: unknown) { - if (chan === BROADCAST_CHANNEL) { - if (confirm(t(Content.FORCE_REFRESH_CONFIRM))) { - location.assign(window.location.origin || "/"); - } else { - alert(t(Content.FORCE_REFRESH_CANCEL_WARNING)); - } +export function onPublicBroadcast(payl: unknown) { + console.log(BROADCAST_CHANNEL, payl); + if (confirm(t(Content.FORCE_REFRESH_CONFIRM))) { + location.assign(window.location.origin || "/"); + } else { + alert(t(Content.FORCE_REFRESH_CANCEL_WARNING)); } } @@ -188,9 +187,9 @@ export const attachEventListeners = bot.on("legacy_status", onLegacyStatus(dispatch, getState)); bot.on("status_v8", onStatus(dispatch, getState)); bot.on("malformed", onMalformed); - bot.client.on("message", autoSync(dispatch, getState)); bot.client.subscribe(BROADCAST_CHANNEL); - bot.client.on("message", onPublicBroadcast); + bot.on(BROADCAST_CHANNEL, onPublicBroadcast); + bot.client.on("message", autoSync(dispatch, getState)); bot.client.on("reconnect", onReconnect); } };