UNPKG

@sdc-monitor/demo

Version:

<div align="center"> <a href="#" target="_blank"> <img src="https://i.loli.net/2021/07/28/EvPwd4NjVH3tBfO.jpg" alt="mito-logo" height="90"> </a> <p>A Lightweight SDK For Monitor Web</p>

45 lines (40 loc) 1.41 kB
import { BrowserOptionsFieldsTypes } from '@sdc-monitor/browser' import { BREADCRUMBCATEGORYS, BrowserBreadcrumbTypes } from '@sdc-monitor/shared' import { BreadcrumbPushData } from '@sdc-monitor/types' import { Severity } from '@sdc-monitor/utils' import { Breadcrumb } from '../breadcrumb' const MaxBreadcrumbs = 16 describe('breadcrumb.ts', () => { const breadcrumb = new Breadcrumb<BrowserOptionsFieldsTypes>({ maxBreadcrumbs: MaxBreadcrumbs }) afterEach(() => { breadcrumb.clear() }) const breadcrumbDemo: BreadcrumbPushData = { category: BREADCRUMBCATEGORYS.DEBUG, type: BrowserBreadcrumbTypes.CONSOLE, data: 'unit', level: Severity.Debug } it("should less than 16 of breadcrumb's max lenght", () => { new Array(20).fill('').forEach(() => breadcrumb.push(breadcrumbDemo)) expect(breadcrumb.getStack().length === 16) }) it('should work on beforePushBreadcrumb', () => { breadcrumb.bindOptions({ beforePushBreadcrumb(breadcrumb, hint) { expect(hint).toEqual(breadcrumbDemo) if (hint.category === BREADCRUMBCATEGORYS.DEBUG) { return false } return hint } }) breadcrumb.push(breadcrumbDemo) expect(breadcrumb.getStack().length).toBe(0) breadcrumbDemo.category = BREADCRUMBCATEGORYS.HTTP breadcrumb.push(breadcrumbDemo) expect(breadcrumb.getStack().length).toBe(1) }) })