UNPKG

@rockpack/logger

Version:

This module can help you build error tracking & crash reporting system for your React application.

55 lines (54 loc) 1.77 kB
import { __awaiter } from "tslib"; import React from 'react'; import { mount } from 'enzyme'; import { logger } from './logger'; import LoggerContainer, { useLoggerApi } from './LoggerContainer'; let loggerApi; let level; let message; let stack; beforeAll(() => { const App = () => { loggerApi = useLoggerApi(); return null; }; mount(React.createElement(LoggerContainer, { onError: (s) => { stack = s; }, stdout: (l, m) => { level = l; message = m; } }, React.createElement(App, null))); }); it('test useLogger hook', () => { expect(typeof logger.log === 'function') .toBe(true); expect(typeof logger.info === 'function') .toBe(true); expect(typeof logger.debug === 'function') .toBe(true); expect(typeof logger.warn === 'function') .toBe(true); expect(typeof logger.error === 'function') .toBe(true); }); ['log', 'info', 'debug', 'warn', 'error'].forEach((logMethod) => { test(`test logger ${logMethod} method`, () => { logger[logMethod](`test ${logMethod} message`); expect(level) .toBe(logMethod); expect(message) .toBe(`test ${logMethod} message`); }); }); describe('test useLoggerApi', () => { test('test getStackData()', () => __awaiter(void 0, void 0, void 0, function* () { const { actions } = loggerApi.getStackData(); expect(actions.length).toBe(5); })); test('test onError callback', () => __awaiter(void 0, void 0, void 0, function* () { loggerApi.triggerError(loggerApi.getStackData()); expect(stack.actions.length) .toBe(5); })); });