From ccfc9046b4c9d6b7cf0640af6ed100be4c2a71f5 Mon Sep 17 00:00:00 2001 From: Beaudan Date: Wed, 7 Aug 2019 13:39:33 +1000 Subject: [PATCH] Fix tests --- js/views/network_status_view.js | 30 ++++++++++++++------------ test/views/network_status_view_test.js | 3 ++- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/js/views/network_status_view.js b/js/views/network_status_view.js index d637de028..de5034f19 100644 --- a/js/views/network_status_view.js +++ b/js/views/network_status_view.js @@ -46,7 +46,7 @@ getSocketStatus() { return window.getSocketStatus(); }, - getNetworkStatus() { + getNetworkStatus(shortCircuit = false) { let message = ''; let instructions = ''; let hasInterruption = false; @@ -67,26 +67,28 @@ this.connectedTimer = null; break; case WebSocket.CLOSED: - if (!this.connectedTimer) { - // Mark offline if disconnected for 30 seconds - this.connectedTimer = window.setTimeout(() => { - message = i18n('disconnected'); - instructions = i18n('checkNetworkConnection'); - hasInterruption = true; - }, DISCONNECTED_DELAY); - } - break; + // Intentional fallthrough case WebSocket.CLOSING: - default: + // Intentional fallthrough + default: { + const markOffline = () => { + message = i18n('disconnected'); + instructions = i18n('checkNetworkConnection'); + hasInterruption = true; + }; + if (shortCircuit) { + // Used to skip the timer for testing + markOffline(); + break; + } if (!this.connectedTimer) { // Mark offline if disconnected for 30 seconds this.connectedTimer = window.setTimeout(() => { - message = i18n('disconnected'); - instructions = i18n('checkNetworkConnection'); - hasInterruption = true; + markOffline(); }, DISCONNECTED_DELAY); } break; + } } if ( diff --git a/test/views/network_status_view_test.js b/test/views/network_status_view_test.js index a3daa7883..85cb64c68 100644 --- a/test/views/network_status_view_test.js +++ b/test/views/network_status_view_test.js @@ -153,7 +153,8 @@ describe('NetworkStatusView', () => { it('should be interrupted', () => { socketStatus = socketStatusVal; networkStatusView.update(); - const status = networkStatusView.getNetworkStatus(); + const shortCircuit = true; + const status = networkStatusView.getNetworkStatus(shortCircuit); assert(status.hasInterruption); }); });