From c0215aa3ece9ec807da01813e61605b4ee0fc7a8 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Mon, 18 Jul 2022 14:46:04 -0500 Subject: [PATCH] ble/sagas: move console logging to saga --- src/ble/sagas.ts | 6 ++++++ src/error-log/sagas.test.ts | 27 --------------------------- src/error-log/sagas.ts | 13 ------------- 3 files changed, 6 insertions(+), 40 deletions(-) diff --git a/src/ble/sagas.ts b/src/ble/sagas.ts index 782a69ba..57bd88b8 100644 --- a/src/ble/sagas.ts +++ b/src/ble/sagas.ts @@ -385,6 +385,12 @@ function* handleBleConnectPybricks(): Generator { yield* put(bleDidDisconnectPybricks()); } catch (err) { + // istanbul ignore if + if (process.env.NODE_ENV !== 'test') { + // log error so it can still be copied even if alert is closed + console.error(err); + } + yield* put( alertsShowAlert('alerts', 'unexpectedError', { error: ensureError(err), diff --git a/src/error-log/sagas.test.ts b/src/error-log/sagas.test.ts index 468f99a9..58701f83 100644 --- a/src/error-log/sagas.test.ts +++ b/src/error-log/sagas.test.ts @@ -4,10 +4,6 @@ import { AsyncSaga } from '../../test'; import { didFailToWrite } from '../ble-nordic-uart-service/actions'; import { eventProtocolError } from '../ble-pybricks-service/actions'; -import { - BleDeviceFailToConnectReasonType, - bleDidFailToConnectPybricks, -} from '../ble/actions'; import { BootloaderConnectionFailureReason, didError, @@ -15,29 +11,6 @@ import { } from '../lwp3-bootloader/actions'; import errorLog from './sagas'; -test('bleDeviceDidFailToConnect', async () => { - const saga = new AsyncSaga(errorLog); - - console.error = jest.fn(); - - saga.put( - bleDidFailToConnectPybricks({ - reason: BleDeviceFailToConnectReasonType.Canceled, - }), - ); - expect(console.error).toHaveBeenCalledTimes(0); - - saga.put( - bleDidFailToConnectPybricks({ - reason: BleDeviceFailToConnectReasonType.Unknown, - err: new Error('test error'), - }), - ); - expect(console.error).toHaveBeenCalledTimes(1); - - await saga.end(); -}); - test('bleDataDidFailToWrite', async () => { const saga = new AsyncSaga(errorLog); diff --git a/src/error-log/sagas.ts b/src/error-log/sagas.ts index 3c52074a..642f12c3 100644 --- a/src/error-log/sagas.ts +++ b/src/error-log/sagas.ts @@ -4,10 +4,6 @@ import { takeEvery } from 'typed-redux-saga/macro'; import { didFailToWrite as bleUartDidFailToWrite } from '../ble-nordic-uart-service/actions'; import { eventProtocolError as pybricksEventProtocolError } from '../ble-pybricks-service/actions'; -import { - BleDeviceFailToConnectReasonType, - bleDidFailToConnectPybricks, -} from '../ble/actions'; import { fileStorageDidFailToStoreTextFileValue } from '../fileStorage/actions'; import { BootloaderConnectionFailureReason, @@ -15,14 +11,6 @@ import { didFailToConnect as bootloaderDidFailToConnect, } from '../lwp3-bootloader/actions'; -function handleBleDeviceDidFailToConnect( - action: ReturnType, -): void { - if (action.reason === BleDeviceFailToConnectReasonType.Unknown) { - console.error(action.err); - } -} - function handlePybricksEventProtocolError( action: ReturnType, ): void { @@ -54,7 +42,6 @@ function handleFileStorageDidFailToStoreTextFileValue( } export default function* (): Generator { - yield* takeEvery(bleDidFailToConnectPybricks, handleBleDeviceDidFailToConnect); yield* takeEvery(pybricksEventProtocolError, handlePybricksEventProtocolError); yield* takeEvery(bleUartDidFailToWrite, handleBleUartDidFailToWrite); yield* takeEvery(bootloaderDidFailToConnect, handleBootloaderDidFailToConnect);